複数行のテキストをコピーしてコンソールに貼り付け、特定のテキストファイル(この場合は「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で「元に戻す」だけではありませんか?それとも何とかすべてを1行に入れているのですか? 'br.readLine()'は1行だけを読み込みます。 – 4castle
@ 4castle http://superuser.com/questions/476873/what-is-effect-of-ctrl-z-on-a-unix-linux-application – Murillio4
私の教授はctr + zを使ってスキャナを手に入れると言ったテキストファイルを作成している間にデータをファイルに読み込みます」。私はむしろグラフィカルなインターフェースを好むだろうが、我々のカリキュラムではそれほど進んでいない。今のところ、私は運動のためのコマンドラインに対して頭を叩いています。 –