我不确定您应该如何从Java文件中读取系统输入。
我希望能给java myProg < file打电话
其中file是我希望作为字符串读入的文件,并在main方法中提供给myProg。
有什么建议吗?
发布于 2011-03-30 23:01:59
您可以使用System.in来读取标准输入。它的工作原理就像从键盘输入一样。操作系统处理从文件到标准输入的转换。
import java.util.Scanner;
class MyProg {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("Printing the file passed in:");
while(sc.hasNextLine()) System.out.println(sc.nextLine());
}
}发布于 2011-03-30 23:03:39
好吧,你可以读System.in本身,因为它是一个有效的InputStream。或者,您也可以将其包装在BufferedReader中:
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));发布于 2014-10-09 21:47:08
在Java中,控制台输入是通过从System.in读取来完成的。要获得附加到控制台的基于字符的流,请将System.in包装在BufferedReader对象中。BufferedReader支持缓冲输入流。它最常用的构造函数如下所示:
BufferedReader(Reader inputReader)这里,inputReader是链接到正在创建的BufferedReader实例的流。阅读器是一个抽象类。它的一个具体子类是InputStreamReader,,它将字节转换为字符。
若要获取链接到System.in的InputStreamReader对象,请使用以下构造函数:
InputStreamReader(InputStream inputStream)因为System.in引用了一个InputStream,类型的对象,所以它可以用于inputStream。将所有这些放在一起,下面这行代码创建了一个连接到键盘的BufferedReader:
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));执行此语句后,br是一个基于字符的流,通过System.in链接到控制台。
这是从书Java- The Complete Reference by Herbert Schildt中摘录的
https://stackoverflow.com/questions/5488072
复制相似问题