2017-04-10 15 views
0

、私はいくつかの異なるものを試してみましたが、それは、ファイルのように思える毎回が原因で上書きされます:私はこの行を削除しようと処理を.txtファイルに保存しますか?私は、処理中にtxtファイルに保存する方法を知らない

output = createWriter("positions.txt"); 

、または、ファイルが要求していないかどうかを確認するために何か他のものを試してみてください。そうしないと、行NiaPointerExceptionが実行されません。

ファイルを上書きせずにファイルを保存する方法はありますか?

PrintWriter output; 

void setup() { 
    // Create a new file in the sketch directory 
    output = createWriter("positions.txt"); 
} 

void draw() { 
    point(mouseX, mouseY); 
    output.println(mouseX); // Write the coordinate to the file 
} 

void keyPressed() { 
    output.flush(); // Writes the remaining data to the file 
    output.close(); // Finishes the file 
    exit(); // Stops the program 
} 
+1

同じパスを使用しているためファイルが上書きされています。毎回新しいファイルを作成したい場合は、 'while'や' for'ループを使って数字をループさせ、 '" + number + ".txt" 'が存在するかどうかを確認してください。ファイルが存在しないようにして、それをあなたのパスとして使用してください。 – Nathangrad

+0

@khelwoodこれはJavaではない処理です - createWriterはProcessingのネイティブ関数です。そしてそれを念頭に置いて、op-Processing!= Java、Javaタグを取り除く価値がある。 –

答えて

1

処理のcreateWriter()関数は、呼び出されるたびに新しいファイルを作成します。

「テキストファイルに処理を追加する」または「テキストファイルにJavaを追加する」とGoogle検索すると、膨大な結果が得られます。

基本的に、JavaのPrintWriterクラスを使用します。このクラスのコンストラクタはboolean引数をとります。その引数がtrueの場合、データを元のファイルに上書きするのではなく、ファイルの最後に追加します。

+0

本当にありがとうございました:D – Lampen

関連する問題