2012-03-08 9 views
1

を働いていない書く、私はここのチュートリアルに従っ:http://www.mkyong.com/java/how-to-write-to-file-in-java-fileoutputstream-example/のJavaのFileOutputStreamは

そして、一例として、次のコードを実装しました:

File scoreFile = new File("score.txt"); 
if(!scoreFile.exists()) { 
    scoreFile.createNewFile(); 
} 
oFile = new FileOutputStream(scoreFile, false); 
oFile.write("Score = 1".getBytes()); 
oFile.flush(); 
oFile.close(); 

をしかし、何がファイルscore.txtに書かされていないが。

編集:私は、私はそれがファイルを作成することがわかりますが、それは任意のテキストを移入していないため、ファイルが作成される場所を知っている

// Set win or loose to score.dat. 
    public void setScore(boolean won, boolean reset){ 
     out.println("setScore()"); 
     long timePassed = (timeEnd - timeStart)/1000; // Seconds passed. 
     double[] prevScore = getScore(); // get previous score (Won, Lost). 
     // Create a writer to edit the file. 
     File scoreFile = new File("score.txt"); 
     if(!scoreFile.exists()) { 
      try { 
       scoreFile.createNewFile(); 
      } catch (IOException e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
      } 
     } 
     if(!reset){ 
      if(won){ 
       // Add time to Win values. 
       prevScore[0] += timePassed; 
      } 
      else{ 
       // Add time to Lost values. 
       prevScore[1] += timePassed; 
      } 
      try { 
       FileOutputStream oFile = new FileOutputStream(scoreFile, false); 
       // Write new score. 
       byte[] contentBytes = (String.valueOf(prevScore[0]+" "+prevScore[1])).getBytes(); 
       oFile.write("Bye".getBytes()); 
       oFile.flush(); 
       oFile.close(); 
      } catch (IOException e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
      } 
     } 
     else{ 
      // If battle ended, delete the scores. 
      FileOutputStream oFile; 
      try { 
       if(!scoreFile.exists()) { 
        scoreFile.createNewFile(); 
       } 
       oFile = new FileOutputStream(scoreFile, false); 
       oFile.write("Error".getBytes()); 
       oFile.flush(); 
       oFile.close(); 
      } catch (IOException e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
      } 
     } 
    } 

:全体の機能が以下の通りです。

+3

あなたは良いscore.txtファイルを見ていますか?スコアを確認するには、scoreFile.getAbsolutePath()を試してみてください。これで問題が解決しない場合は、SSCCE(http://sscce.org) –

+0

を投稿してくださいなぜcontentBytesを受け取り、単に放棄していますか? – gawicks

答えて

2

そのコードは私のために働きます...あなたは正しい場所を見ていますか?たとえば、ファイル名を"C:\\score.txt"に変更して、正しいフォルダを確認することができます。

+0

編集した質問を見て、コードを修正する可能性のあるものを教えてください。ありがとう –

1

コードは、間違いなく。.Score.txt作業ディレクトリにある必要があります(あなたはOFILEを宣言したと仮定して)動作します