我有一個名爲DIR的文件夾和一個名爲SUB的子文件夾。 我正在運行的java文件被放置在DIR文件夾中,現在我想將我的小字符串保存在SUB文件夾中的.txt文件中。保存在另一個目錄中JAVA - 非常簡單的問題!
你能幫我嗎?
我有一個名爲DIR的文件夾和一個名爲SUB的子文件夾。 我正在運行的java文件被放置在DIR文件夾中,現在我想將我的小字符串保存在SUB文件夾中的.txt文件中。保存在另一個目錄中JAVA - 非常簡單的問題!
你能幫我嗎?
PrintWriter out = new PrintWriter(
new OutputStreamWriter(
new FileOutputStream("SUB/myfile.txt")));
out.println("simpleString);
out.close();
這個簡單的任務在Java中看起來非常複雜。原因是,你可以在從字符串到文件的路上配置所有的東西。你可以例如指定輸出文件的編碼,默認爲平臺編碼(例如,西半球大部分地區的Windows「win1252」)。要編寫UTF-8文件使用:
PrintWriter out = new PrintWriter(
new OutputStreamWriter(
new FileOutputStream("SUB/myfile.txt"),"UTF-8"));
out.println("simpleString);
out.close();
的PrintWriter的也有一個「立即刷新」選項,這是您要在後臺監控日誌文件不錯。
通過鏈接IO構造函數,您還可以在使用BufferedWriter時提高性能,因爲這隻會刷新到磁盤,達到最小大小或關閉流時。
PrintWriter out = new PrintWriter(
new BufferedWriter(
new OutputStreamWriter(
new FileOutputStream("SUB/myfile.txt"),"UTF-8")));
out.println("simpleString);
out.close();
通過不必創建一個FileOutputStream指定輸出應該去盤,但你也可以使用任何其他流傳輸的位置,例如像陣列:
byte[] bytes = new byte[4096];
OutputStream bout = new ByteArrayOutputStream(bout);
PrintWriter out = new PrintWriter(
new OutputStreamWriter(bout,"UTF-8"));
out.println("simpleString);
out.close();
你會愛上JAVA的多功能性!
阿帕奇org.apache.commons.io.FileUtils
類被實現,以減少的樣板代碼量..
FileUtils.writeStringToFile(new File("SUB/textFile.txt"),stringData,"UTF-8");
數據不應當被存儲在應用程序的子目錄或它的源代碼。 Java小程序和JWS應用程序。甚至不允許發現那個位置。相反,最好將數據放在「user.home」的子目錄中(例如,基於應用程序的反向包名稱)。 – 2011-03-07 06:48:58