我不知道如何在Netbeans中放置输入/输出重定向命令。我的Java教科书Daniel Liang说,以下是一个名为SentinelValue的示例程序:
*来自教科书:
5.2.5输入和输出重定向
在前面的示例中,如果要输入大量数据,则会很麻烦 从键盘输入。例如,您可以将由空格分隔的数据存储在文本文件中 input.txt,并使用以下命令运行该程序: java SentinelValue< input.txt中 此命令称为输入重定向。程序从文件输入中获取输入 .txt而不是让用户在运行时从键盘输入数据。假设内容 该文件是
2 3 4 5 6 7 8 9 12 23 32
23 45 67 89 92 12 34 35 3 1 2 4 0
该计划应该总和为518。
类似地,有输出重定向,它将输出发送到文件而不是显示 它在控制台上。输出重定向的命令是: java ClassName> output.txt的
输入和输出重定向可以在同一个命令中使用。例如,以下内容 命令从input.txt获取输入并将输出发送到output.txt: java SentinelValue output.txt
尝试运行程序以查看output.txt中的内容。
清单5.5 SentinelValue.java
import java.util.Scanner;
public class SentinelValue {
/** Main method */
public static void main(String[] args) {
// Create a Scanner
Scanner input = new Scanner(System.in);
// Read an initial data
System.out.print("Enter an integer (the input ends if it is 0): ");
int data = input.nextInt();
// Keep reading data until the input is 0
int sum = 0;
while (data != 0) {
sum += data;
// Read the next data
System.out.print("Enter an integer (the input ends if it is 0): ");
data = input.nextInt();
}
System.out.println("The sum is " + sum);
}
}
那么如何将此输出保存在.txt文件中?我很迷茫。 谢谢
答案 0 :(得分:0)
每个进程基本上可以默认访问3个文件:
stdin
(标准输入文件)stdout
(标准输出文件)stderr
(标准错误文件)在这个答案中,我只关心前两个(stdin / stdout)。
从终端/命令行创建进程时,终端通过设置正确的stdout
文件告诉程序在屏幕上打印。
当您System.out.println()
作为文本时,Java VM会将此文本写入stdout
文件(映射到您的终端)。
当您从System.in
读取时,您正在读取文件。终端默认将其设置为键盘。
因此,当您使用myProcess.exe > file.txt
启动流程时,您告诉终端创建名为file.txt
的文件,并将流程的stdout
分配给该文件。 (myProcess.exe
只是一个例子;它在Windows / MacOS / Linux上的工作方式相同)
因此,为了将输出保存在文本文件中,本书告诉您如下启动Java Process:
java ClassName > output.txt
文本对文件的实际处理方式全部由操作系统处理。