我希望用戶能夠將多行文本複製並粘貼到控制檯中,然後將其保存到特定的文本文件(本例中爲「weather.text」)在相同包中的數據文件夾中)。我一直在做這個簡單的任務幾個小時,解決方案正在逃避我。我是新來的java,所以我提前道歉。將用戶輸入到java中的文本文件中
這個靜態函數是從主啓動類調用的。
import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.io.Reader;
import java.util.Scanner;
public static void writeFile()
{
//set up for the user input
Reader r = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(r);
String str = null;
try {
//prompt the user to input data
System.out.println("Type or paste your data and hit Ctrl + z");
str = br.readLine();
//save the user input data to text file
PrintWriter writer = new PrintWriter("weather.txt", "UTF-8");
writer.print(str);
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
}
當前我遇到2個問題。
1)上面的代碼似乎只保存粘貼到控制檯的第一行到控制檯。
2)保存的文本文件位於全局項目文件夾中,而不是指定的數據子文件夾。
任何幫助或建議表示讚賞。謝謝。
是不是Ctrl + z只是「撤消」?或者它以某種方式將所有內容放在一行上? 'br.readLine()'只讀取一行。 – 4castle
@ 4castle http://superuser.com/questions/476873/what-is-effect-of-ctrl-z-on-a-unix-linux-application – Murillio4
我的教授說要用ctr + z來得到掃描儀在創建文本文件時將數據讀入文件「。我更願意使用圖形界面,但我們的課程並沒有那麼先進。現在,我正在爲了鍛鍊而對命令行感到頭痛。 –