2017-02-01 10 views
1

FileWriter("file.txt",true)を使用して上書きするのではなく、ファイルライターを追加しようとしていますが、別の問題(不明な場合はわかりません)はFile file1 = new File("a.txt")を使ってファイルを作成できませんフォーマッタを使用します。私は初心者ですので、可能であれば、私がした間違いを詳述してください。ファイルライターがファイルを上書きする

public static void newPlayer(){ 
    String name = JOptionPane.showInputDialog("Write yourn name ","new player"); 
    System.out.println(name +" " +points); 
    try { 
     Formatter file1 = new Formatter(name+".txt"); 
     File file2 = new File(name+".txt"); 
     fw = new FileWriter(file2,true); 
     String s = Integer.toString(points); 
     fw.write(s); 
     fw.close(); 
     file1.close(); 
    } catch (FileNotFoundException e) { 
     e.printStackTrace(); 
    }catch(Exception e){ 
     System.out.println(e); 
    } 
} 
+1

ファイル2で書き込みますが、ファイル1を閉じますか? – Jens

+0

'name +" .txt "'が '' file.txt "'になるのは確かですか?あなたはなぜ 'file file1 = new File(" a.txt ")'を使用できないのですか?あなたはどんな問題に直面しましたか? – Thomas

+2

[既存のファイルに新しい行のテキストを追加するにはどうすればいいですか?](http://stackoverflow.com/questions/4614227/how-to-add-a-new-line-of-text-新しいファイルを作成する場合は、既存のfile-in-java) –

答えて

1

file1に関する2行を削除しても、それは使用されていません。

append=falseでファイルを開いているため、FileWriterの設定が妨げられています(同じファイル記述子がOS依存ですか?)。

... 
try { 
    File file2 = new File(name+".txt"); 
    FileWriter fw = new FileWriter(file2,true); 
    String s = Integer.toString(points); 
    fw.write(s); 
    // a line feed would make the file more readable 
    fw.close(); 
} catch (... 
0

私はfile1の行をフォーマッタで削除しましたが、試してみましたが、ファイルを作成していませんでした。同様の問題があり、ファイルが作成されていない場合は、file.createnewfile()を試してください。

try { 
    //Formatter file1 = new Formatter(name+".txt"); 
    File file2 = new File(name+".txt"); 
    // file2.createNewFile(); 
    fw = new FileWriter(file2,true); 
    String s = Integer.toString(points); 
    fw.write(s); 
    fw.close(); 
    //file1.close(); 
} catch (FileNotFoundException e) { 
    // TODO Auto-generated catch block 
    e.printStackTrace(); 
}catch(Exception e){ 
System.out.println(e); 
} 
関連する問題