2

重複の可能性:
Java でファイルの途中にバイトを書き込む最良の方法

PostScript ファイルを変更して印刷プロパティを追加するプログラムを作成しているので、ファイルの途中に行を追加する必要があります。これらの PostScript ファイルは非常に大きいので、使用しているコードが最も効率的かどうかを知りたいです。このコードは、ソース ファイルを読み取り、必要な行を追加する一時ファイルを書き込みます。

    Writer out = null;
    Scanner scanner = null;

    String newLine = System.getProperty("line.separator");

    scanner = new Scanner(new FileInputStream(fileToRead));
    out = new OutputStreamWriter(new FileOutputStream(fileToWrite));
    String line;
    while(scanner.hasNextLine()){
        line = scanner.nextLine();

        out.write(line);
        out.write(newLine);
        if(line.equals("%%BeginSetup")){
            out.write("<< /Duplex true /Tumble true >> setpagedevice");
            out.write(newLine);
        }
    }

    scanner.close();
    out.close();

事前に感謝します。

4

2 に答える 2

1

SOで見つかった古い回答のほとんどは、古いものを使用/リンクしていますjava.io.*

オラクルには、「新しい」Java 7java.nio.*パッケージを使用してこれを行う方法の良い例があります(通常、パフォーマンスが大幅に向上します)

http://docs.oracle.com/javase/tutorial/essential/io/rafs.html

于 2012-12-11T13:24:54.673 に答える
0

RandomAccessFileここでその例を参照してください: Fileseek - ファイル内の特定の場所を探して、そこに書き込むことができます。

于 2012-12-11T13:13:43.867 に答える