2015-04-16 66 views
1

我正在寫一個代碼,使用PrintWriter類輸出到文本文件。但是,當我嘗試初始化新的PrintWriter時,它會引發FileNotFound異常。PrintWriter拋出FileNotFoundException

下面是我的代碼的兩個版本,兩者都不起作用,編寫器作爲PrintWriter在全局變量中初始化。

File file = new File(fileName); 
writer = new PrintWriter(fileName); 
writer.println("N: " + N); 
writer.println("E: " + E); 
writer.println("D: " + D); 
writer.flush(); 
writer.close(); 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

writer = new PrintWriter(fileName); 
writer.println("N: " + N); 
writer.println("E: " + E); 
writer.println("D: " + D); 
writer.flush(); 
writer.close(); 

下面是我使用的進口清單,我可能會錯過嗎?

import java.text.DateFormat; 
import java.text.SimpleDateFormat; 
import java.math.*; 
import java.math.BigInteger; 
import java.util.*; 
import java.io.*; 
+2

'fileName'是絕對路徑嗎?順便說一句,在你的第一個例子中,你的意思是傳遞文件:'PrintWriter(file)'? –

+0

發佈[SSCCE](http://sscce.org)。你會得到更快的速度,或者你會更快地找到它自己。 – MockerTim

+0

如果打印文件無法寫入,PrintWriter會拋出FNFE。 –

回答

0

這兩個代碼似乎是正確的,併爲我工作得很好。確保路徑正確。如果萬一沒有給出路徑確保調用該方法createNewFile創建從抽象的文件名中的文件,如下

File file = new File("test1.txt"); 
file.createNewFile(); 

PrintWriter writer = new PrintWriter("test1.txt"); 
writer.println("N: "); 
writer.println("E: "); 
writer.println("D: "); 
writer.flush(); 
writer.close(); 

您還可以使用文件對象與PrintWriter的一起。

+0

這個方法拋出一個IOException的創建文件行並仍然拋出FileNotFoundException。我是否錯過任何進口? –

+0

你可以發佈錯誤發生的路線嗎?你還可以發佈你的代碼嗎? –

0
File file = new File(fileName); 
writer = new PrintWriter(file); 

這應該工作。

+0

這個方法仍然拋出FileNotFoundException對我 –

相關問題