テキストファイルの行を読み込み、並べ替えてからファイルを上書きします

リック

テキストファイルの行を読み取り、並べ替え(アルファベット順)、上書きしてファイルに戻すgo関数を作成しようとしています。現在、基本的にエミュレートすることはできcatますが、read_lineの要素の内容を操作することはできないようです。

func sort() {

    ff, _ := os.OpenFile(file, os.O_RDWR, 0666)
    f := bufio.NewReader(ff)
    for {
        read_line, _ := f.ReadString('\n')
        fmt.Print(read_line)
        if read_line == "" {
            break
        }
    }
    ff.Close()
}

ReadStringを使用する場合、各行をスライスに保存するにはどうすればよいですか(または、操作できるように保存するためのより良い方法はありますか)?次に、次のような方法でソートパッケージを使用します。

sorted := sort.Strings(lines) 

次に、ファイルに書き込むために、次のようなものを使用していますが、「ソート」がまだ機能していないため、ファイルを含めていません。

io.WriteString(ff, (lines + "\n"))

提案をよろしくお願いします!

peterSO

例えば、

package main

import (
    "bufio"
    "fmt"
    "os"
    "sort"
)

func readLines(file string) (lines []string, err os.Error) {
    f, err := os.Open(file)
    if err != nil {
        return nil, err
    }
    defer f.Close()
    r := bufio.NewReader(f)
    for {
        const delim = '\n'
        line, err := r.ReadString(delim)
        if err == nil || len(line) > 0 {
            if err != nil {
                line += string(delim)
            }
            lines = append(lines, line)
        }
        if err != nil {
            if err == os.EOF {
                break
            }
            return nil, err
        }
    }
    return lines, nil
}

func writeLines(file string, lines []string) (err os.Error) {
    f, err := os.Create(file)
    if err != nil {
        return err
    }
    defer f.Close()
    w := bufio.NewWriter(f)
    defer w.Flush()
    for _, line := range lines {
        _, err := w.WriteString(line)
        if err != nil {
            return err
        }
    }
    return nil
}

func main() {
    file := `lines.txt`
    lines, err := readLines(file)
    if err != nil {
        fmt.Println(err)
        os.Exit(1)
    }
    sort.Strings(lines)
    err = writeLines(file, lines)
    if err != nil {
        fmt.Println(err)
        os.Exit(1)
    }
}

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

テキストファイルから行を読み取り、新しいテキストファイルに書き込むことにより、行の値を平均(平均)で並べ替えます

分類Dev

テキストファイルを配列に読み込み、Javaで並べ替えを実行する

分類Dev

テキストファイルからコピーして、番号が付けられた行を別のファイルに書き込みます

分類Dev

並べ替えなしでテキストファイルからすべての重複を削除します

分類Dev

VBAはテキストファイルを読み取り/書き込みに設定してから読み取り専用に戻しますか?

分類Dev

ファイルを複数回複製し、複製されたファイルに書き込み、ファイルを並べ替え、並べ替え後に特定の行の位置をカウントします

分類Dev

txtファイルの文字列行を並べ替えてから、並べ替えた行で上書きします

分類Dev

openFileOutputを使用したテキストファイルからの読み取り/書き込み

分類Dev

単語とその出現回数を含むテキストファイルを読み取り、出力を並べ替えて印刷します

分類Dev

最初の書き込み時にテキストファイルを上書きしてから、それに追加します-Python

分類Dev

Pythonで入力を取得して、テキストファイルに複数行を書き込みますか?

分類Dev

テキストファイルの複数行を読み取り、別のテキストファイルに書き込みます

分類Dev

phpまたはbashでテキストファイルを読み取って並べ替える方法は?

分類Dev

Python:-テキストファイルを読み取り、大文字に変換して2番目のファイルに書き込みます

分類Dev

Java-読み取り中に上書きしてテキストファイルから行を削除します

分類Dev

配列を使用してファイルに数値を書き込み、並べ替えて出力する

分類Dev

テキストファイルから別の行を読み取り、drawLine(line1a、line1b、line2a、line2b)に書き込みます。

分類Dev

新しい行のPythonでtxtファイルにテキストを書き込みますか?

分類Dev

str()の出力をテキストファイルに書き込みますか?

分類Dev

テキストファイルから一連の数字を読み取り、Pythonを使用して新しい行に書き込む方法は?

分類Dev

実行可能ファイルを実行し、テキストファイルから入力を取得してから、Windowscmdで出力を書き込みたい

分類Dev

Pythonのディレクトリからファイルを読み取り、並べ替えます

分類Dev

Javaスクリプトを使用してLinuxFSのファイルからコンテンツを書き込み/読み取ります

分類Dev

テキストファイルから読み取り、printWriterを使用して別のファイルに書き込もうとすると、空白のファイルになります

分類Dev

Typescriptを使用して、新しい行で配列をテキストファイルに書き込みます

分類Dev

MS Access VBAテキストファイルを開き、ファイルを上書きせずに特定の行に書き込みます

分類Dev

辞書をテキストファイルに書き込みますか?

分類Dev

delphiを使用してテキストファイルからセット列挙を読み書きする方法

分類Dev

テキストファイルを読み取り、perlで2次元配列に書き込みますか?

Related 関連記事

  1. 1

    テキストファイルから行を読み取り、新しいテキストファイルに書き込むことにより、行の値を平均(平均)で並べ替えます

  2. 2

    テキストファイルを配列に読み込み、Javaで並べ替えを実行する

  3. 3

    テキストファイルからコピーして、番号が付けられた行を別のファイルに書き込みます

  4. 4

    並べ替えなしでテキストファイルからすべての重複を削除します

  5. 5

    VBAはテキストファイルを読み取り/書き込みに設定してから読み取り専用に戻しますか?

  6. 6

    ファイルを複数回複製し、複製されたファイルに書き込み、ファイルを並べ替え、並べ替え後に特定の行の位置をカウントします

  7. 7

    txtファイルの文字列行を並べ替えてから、並べ替えた行で上書きします

  8. 8

    openFileOutputを使用したテキストファイルからの読み取り/書き込み

  9. 9

    単語とその出現回数を含むテキストファイルを読み取り、出力を並べ替えて印刷します

  10. 10

    最初の書き込み時にテキストファイルを上書きしてから、それに追加します-Python

  11. 11

    Pythonで入力を取得して、テキストファイルに複数行を書き込みますか?

  12. 12

    テキストファイルの複数行を読み取り、別のテキストファイルに書き込みます

  13. 13

    phpまたはbashでテキストファイルを読み取って並べ替える方法は?

  14. 14

    Python:-テキストファイルを読み取り、大文字に変換して2番目のファイルに書き込みます

  15. 15

    Java-読み取り中に上書きしてテキストファイルから行を削除します

  16. 16

    配列を使用してファイルに数値を書き込み、並べ替えて出力する

  17. 17

    テキストファイルから別の行を読み取り、drawLine(line1a、line1b、line2a、line2b)に書き込みます。

  18. 18

    新しい行のPythonでtxtファイルにテキストを書き込みますか?

  19. 19

    str()の出力をテキストファイルに書き込みますか?

  20. 20

    テキストファイルから一連の数字を読み取り、Pythonを使用して新しい行に書き込む方法は?

  21. 21

    実行可能ファイルを実行し、テキストファイルから入力を取得してから、Windowscmdで出力を書き込みたい

  22. 22

    Pythonのディレクトリからファイルを読み取り、並べ替えます

  23. 23

    Javaスクリプトを使用してLinuxFSのファイルからコンテンツを書き込み/読み取ります

  24. 24

    テキストファイルから読み取り、printWriterを使用して別のファイルに書き込もうとすると、空白のファイルになります

  25. 25

    Typescriptを使用して、新しい行で配列をテキストファイルに書き込みます

  26. 26

    MS Access VBAテキストファイルを開き、ファイルを上書きせずに特定の行に書き込みます

  27. 27

    辞書をテキストファイルに書き込みますか?

  28. 28

    delphiを使用してテキストファイルからセット列挙を読み書きする方法

  29. 29

    テキストファイルを読み取り、perlで2次元配列に書き込みますか?

ホットタグ

アーカイブ