从System.in读入 – Java
我不确定你应该如何从Java文件的系统input中读入。
我想能够调用java myProg < file 
文件是我想要作为一个string读取,并在主要方法中给予myProg。
有什么build议么?
 您可以使用System.in从标准input读取。  IT就像从键盘input一样。 操作系统处理从文件到标准input。  🙂 
 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()); } } 
 那么,你可以读System.in本身,因为它是一个有效的InputStream 。 或者你也可以把它包装在一个BufferedReader : 
 BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); 
使用System.in,它是一个InputStream,它只是用于这个目的
 您可以像使用InputStreamReader或Scanner的键盘input一样从System.in读取数据。 
在Java中,控制台input是通过从System.in中读取完成的。 要获取连接到控制台的基于字符的stream,请将System.in包装在BufferedReader对象中。 BufferedReader支持缓冲inputstream。 其最常用的构造函数如下所示:
 BufferedReader(Reader inputReader) 
这里,inputReader是链接到正在创build的BufferedReader的实例的stream。 读者是一个抽象的类。 其中一个具体的子类是InputStreamReader ,它将字节转换为字符。
要获取链接到System.in的InputStreamReader对象,请使用以下构造函数:
 InputStreamReader(InputStream inputStream) 
由于System.in引用InputStreamtypes的对象,因此可用于inputStream。 综合起来,下面这行代码创build一个连接到键盘的BufferedReader :
 BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); 
执行此语句后,br是一个基于字符的stream,通过System.in链接到控制台。
 这是从Java- The Complete Reference by Herbert Schildt的“ Java- The Complete Reference by Herbert Schildt ”一书中获得Java- The Complete Reference by Herbert Schildt 
 你可以调用java myProg arg1 arg2 ... : 
 public static void main (String args[]) { BufferedReader in = new BufferedReader(new FileReader(args[0])); } 
你可能正在寻找这样的东西。
 FileInputStream in = new FileInputStream("inputFile.txt"); BufferedReader br = new BufferedReader(new InputStreamReader(in)); 
 class myFileReaderThatStarts with arguments { class MissingArgumentException extends Exception{ MissingArgumentException(String s) { super(s); } } public static void main(String[] args) throws MissingArgumentException { //You can test args array for value if(args.length>0) { // do something with args[0] } else { // default in a path // or throw new MissingArgumentException("You need to start this program with a path"); } }