2012-12-19 100 views
0

我需要一些幫助。
我正在嘗試使用FileOutputStream將字節寫入文件中......
但是,該文件不會以我構建的jar文件的形式出現在目錄中。
或者,如果我嘗試以其他方式,它不會寫入任何文件甚至刷新文件。FileOutputStream無法寫入文件或生成文件

這裏是我當前的代碼:

File ModFile =new File(NameText.getText() + ".mod"); 
FileOutputStream writer = null; 

String toProcess = CodesBox.getText(); 
int i = Integer.parseInt(CodesBox.getText()); 
byte codes = (byte) i; 

try { 
    writer = new FileOutputStream(ModFile); 
    writer.write(codes); 

} catch (IOException ex) { 
    Logger.getLogger(ModMakerGui.class.getName()).log(Level.SEVERE, null, ex); 
}finally{ 
    try { 
     writer.close(); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
} 

請幫幫忙!

+1

「ModFile」的路徑是什麼,你的可執行文件位於何處? – jlordo

+0

1.這段代碼真的被執行了嗎? 2.如果它正在執行,那麼當前的工作目錄是什麼? –

+0

您可以使用['File.getAbsolutePath()']檢查文件的實際創建位置(http://docs.oracle.com/javase/1.4.2/docs/api/java/io/File.html# getAbsolutePath%28%29)。 – JimmyB

回答

0

@ junyi00對我來說,文件已創建。它顯示爲影片剪輯。我認爲這個文件應該也是爲你創建的。試着看看它在哪裏創建。或者檢查你的課程NameTextCodesBox他們是否有任何錯誤。檢查生成的文件名稱是什麼。

+0

電影剪輯?我不認爲創建的文件是.mov文件,但是.mod文件。 NameText和CodesBox絕對沒有錯誤,NameText是TextField,CodesBox是文本區 – junyi00

+0

@ junyi00儘管該文件看起來像一個影片剪輯。它可以通過另一個java文件讀取。我使用這段代碼讀取文件。它的閱讀很好。 'FileInputStream fis = new FileInputStream(「abc.mod」); \t \t int i; \t \t而(第(i = fis.read())!= -1){ \t \t \t \t的System.out.println( 「我:」 + I); '您正在將輸入文本轉換爲字節。如果文本更多,我認爲你應該更好地嘗試'byte []',因爲單字節變量有限制。或者,如果您可以提供您正在嘗試的數據,可能我可以幫助您更多。 – ramesh

+0

我會嘗試使用byte []然後,謝謝你的想法 – junyi00