2016-04-26 58 views
-1

文件沒有在我的工作區或任何文件夾中創建,可以在任何一個suggect指定一個目錄,也可以選擇使用「UTF-8」書寫使用的PrintWriter在Java中

PrintWriter writer = new PrintWriter("twitterData_"+currDate+".txt", "UTF-8"); 
      writer.println("TweetId,UserScreenName,Tweet,TimeStamp"); 
+1

你正在關閉你的PrintWriter嗎? –

+0

最好使用絕對路徑。回覆當前目錄以寫入文件可能很危險。此代碼也不建議錯誤處理或流關閉。 – KevinO

回答

0

添加這在目錄中的文件行到您的代碼,以查看文件位於哪個目錄中:

System.out.println(System.getProperty("user.dir")); 

打印出java進程的工作目錄。

0

該文件是肯定創建的,除非new PrintWriter()引發異常。

任何一個可以建議指定一個目錄

如果這意味着「如何指定目錄」,在前面加上它的文件名。如果這意味着'如何發現目錄'文件被寫入,則打印值爲System.getProperty("user.dir")

,也有使用 「UTF-8」

那是一個問題嗎?

0
public class PrinterQuestion { 

    public static void main(String [] args){ 
     DateFormat format = new SimpleDateFormat("MMddyyyy"); 
     Date date = new Date(); 
     String currDate = format.format(date); 
     try{ 
      //PrintWriter writer = new PrintWriter("the-file-name.txt", "UTF-8"); 
      PrintWriter writer = new PrintWriter("twitterData_" + currDate + ".txt", "UTF-8"); 
      writer.println("TweetId,UserScreenName,Tweet,TimeStamp"); 
      writer.close(); 
     }catch(Exception e){ 
      e.printStackTrace(); 
     } 

    } 
} 

如果您使用的日期格式爲4/5/2010,那麼您將得到一個錯誤,因爲該路徑不存在。如果您試圖將其保存在當前目錄中,則必須按照上述方式更改日期格式以避免文件路徑混淆。順便說一下,如果你使用的是Eclipse,這將把它放到你的工作目錄中。