我想将终端上的所有文本保存为文本文件的输出。对于输出,可以使用一个函数来代替System.out.println()
class OutSave
{
String output;
public static void main()
{
output="";
print("Print this");
print("And save this");
}
public static print(String p)
{
output=output+"\n"+p;
System.out.println(p);
}
}
像这样的东西,但我无法弄清楚用户提供的输入。
先谢谢
答案 0 :(得分:1)
执行此操作的常用方法不需要在Java程序中执行任何操作,并且适用于任何程序,无论其最初编写的语言是什么。
从命令行,在大多数shell(bash,C shell,MS-DOS等)中,运行:
$program > outfile.txt
其中$program
是可执行文件的名称。
这通常称为redirection。
答案 1 :(得分:0)
以下是如何编写正在打印的日志文件的简单示例。
class OutSave
{
File output = new File("output.txt");
public static void main()
{
print("Print this");
print("And save this");
}
public static print(String str)
{
System.out.println(str);
writeToFile(output, str);
}
public void writeToFile(File file, String str) {
BufferedWriter bw = new BufferedWriter(new FileWriter(file));
bw.write(str);
bw.close();
}
}
编辑:记录用户输入(整数)
Boolean running = true;
System.out.println("Enter a Number: ");
while (true) {
while (!sc.hasNextInt()) {
System.out.println("Try again, Enter a Number: "); //invalid entry
sc.nextLine();
}
WriteToFile(output, Integer.toString(sc.nextInt()));
}
你可以从一个方法中调用这个代码,然后更改运行的布尔值,以便在完成后退出循环,因为如果你不退出,这将把你的程序挂起在输入循环中。也可能是个好主意。
答案 2 :(得分:-1)