9

ファイルを解析しています。新しい出力ファイルを作成していて、それに「byte[] データ」を追加する必要があります。そこから、他の多くの「byte[] データ」をファイルの最後に追加する必要があります。解析中のファイル名を既に提供しているため、ユーザーに出力ファイル名のコマンドラインパラメーターを追加してもらうことを考えています。そうは言っても、システムでファイル名がまだ作成されていない場合は、作成する必要があると思います。

今、私はこれを行う方法がわかりません。私のプログラムは現在、DataInputStream を使用してファイルを取得および解析しています。DataOutputStream を使用して追加できますか? もしそうなら、ファイルに追加して上書きしない方法を考えています。

4

3 に答える 3

30

もしそうなら、ファイルに追加して上書きしない方法を考えています。

それは簡単ですDataOutputStreamパラメータを指定してコンストラクタをFileOutputStream使用するだけで問題ありません。append

FileOutputStream output = new FileOutputStream("filename", true);
try {
   output.write(data);
} finally {
   output.close();
}

または、Java 7 のtry-with-resourcesを使用します。

try (FileOutputStream output = new FileOutputStream("filename", true)) {
    output.write(data);
}

何らかの理由で必要な場合、同じ方法で open をラップするだけです。DataOutputStreamFileOutputStream

于 2013-06-04T20:54:59.500 に答える
3
Files.write(new Path('/path/to/file'), byteArray, StandardOpenOption.APPEND);

これはバイト追加用です。例外を忘れないでください

于 2015-11-10T14:32:52.087 に答える
1
File file =new File("your-file");
FileWriter fileWritter = new FileWriter(file.getName(),true);
BufferedWriter bufferWritter = new BufferedWriter(fileWritter);
bufferWritter.write(your-string);
bufferWritter.close();

coruse のこれを try - catch ブロックに入れます。

于 2013-06-04T20:57:31.550 に答える