0

シリアル ポートからデータを受信して​​おり、そのデータをファイルに書き込みたいと考えています。問題は、プログラムがファイル内の同じ場所でデータを上書きしていることです。たとえば、同じ場所に 0xAA と 0xBD を書き込み、ファイルを開いてテキスト編集で読み取ると、ファイル内に数字が 1 つしか見つかりません。数字を次々に書くにはどうすればよいですか?ジェス

public class Loading {

    public static void writeFile(String fileName,int bytes) {

        FileOutputStream fo = null;
        File file;


        try {

            file = new File("C:/dar.txt");


            fo = new FileOutputStream(file);

            if (!file.exists())
            { 
                file.createNewFile();
            }

            //StringUtils.getHexString((byte) bytes);
           fo.write((byte) bytes);

            System.out.println(getHexString (bytes));
        }

        catch (Exception e) {
            System.out.println("writeFile exception: " + e.getClass().getName()             + " " + e.getMessage());
        }   
        finally {
            if (fo != null) {try {fo.close();} catch (Exception ex) {}}
        }
    } 
4

1 に答える 1

2

前述のように、FileOutputStream には複数のコンストラクターがあります。Fileaと a の両方を取るコンストラクターを使用しboolean、ブール値を に設定しtrueます。

FileOutputStream(File file, boolean append)

これにより、上書きではなく、ファイルに追加されます...

于 2015-01-27T03:57:48.430 に答える