如何将终端输出(和输入)复制到 java 中的文件
How to copy the terminal output (and input) to a file in java
我想将终端上的所有文本保存为文本文件的输出。对于输出,可以使用一个函数来代替 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);
}
}
类似这样,但我无法根据用户提供的输入解决这个问题。
提前致谢
您可以使用文件编写器检查 link : http://java.sun.com/j2se/1.4.2/docs/api/java/io/FileWriter.html
执行此操作的通常方法不需要在您的 Java 程序中执行任何操作,并且适用于任何程序,无论它最初是用什么语言编写的。
从命令行,在大多数 shell 中(bash、C shell、MS-DOS 等),运行:
$program > outfile.txt
其中 $program
是可执行文件的名称。
这就是俗称的redirection。
这里是一个简单的示例,说明如何将您正在打印的内容写入日志文件。
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()));
}
您可以从方法中调用此代码,然后更改 运行 布尔值以在完成后退出循环,因为如果您不退出,这将使您的程序挂在输入循环中。穿这个也是个好主意。
我想将终端上的所有文本保存为文本文件的输出。对于输出,可以使用一个函数来代替 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);
}
}
类似这样,但我无法根据用户提供的输入解决这个问题。
提前致谢
您可以使用文件编写器检查 link : http://java.sun.com/j2se/1.4.2/docs/api/java/io/FileWriter.html
执行此操作的通常方法不需要在您的 Java 程序中执行任何操作,并且适用于任何程序,无论它最初是用什么语言编写的。
从命令行,在大多数 shell 中(bash、C shell、MS-DOS 等),运行:
$program > outfile.txt
其中 $program
是可执行文件的名称。
这就是俗称的redirection。
这里是一个简单的示例,说明如何将您正在打印的内容写入日志文件。
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()));
}
您可以从方法中调用此代码,然后更改 运行 布尔值以在完成后退出循环,因为如果您不退出,这将使您的程序挂在输入循环中。穿这个也是个好主意。