2012-03-08 56 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文件?尝试sysout scoreFile.getAbsolutePath()以确保。如果这不能解决你的问题发布SSCCE(http://sscce.org) – 2012-03-08 18:22:47

+0

为什么你采取contentBytes并简单地扔掉它? – gawicks 2012-03-09 10:49:01

回答

2

那段代码对我来说很有用......你在找对的地方吗?例如,您可以尝试将文件名更改为"C:\\score.txt",以确保您查看正确的文件夹。

+0

你可以看看编辑的问题,并建议任何可能修复代码?谢谢 – 2012-03-08 20:30:10

1

的代码肯定能行。(假定您已经声明OFILE).Score.txt必须在你的工作目录