首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从System.in读入- Java

从System.in读入- Java
EN

Stack Overflow用户
提问于 2011-03-30 22:59:21
回答 8查看 284.2K关注 0票数 41

我不确定您应该如何从Java文件中读取系统输入。

我希望能给java myProg < file打电话

其中file是我希望作为字符串读入的文件,并在main方法中提供给myProg。

有什么建议吗?

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2011-03-30 23:01:59

您可以使用System.in来读取标准输入。它的工作原理就像从键盘输入一样。操作系统处理从文件到标准输入的转换。

代码语言:javascript
复制
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());
    }
}
票数 66
EN

Stack Overflow用户

发布于 2011-03-30 23:03:39

好吧,你可以读System.in本身,因为它是一个有效的InputStream。或者,您也可以将其包装在BufferedReader中:

代码语言:javascript
复制
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
票数 19
EN

Stack Overflow用户

发布于 2014-10-09 21:47:08

在Java中,控制台输入是通过从System.in读取来完成的。要获得附加到控制台的基于字符的流,请将System.in包装在BufferedReader对象中。BufferedReader支持缓冲输入流。它最常用的构造函数如下所示:

代码语言:javascript
复制
BufferedReader(Reader inputReader)

这里,inputReader是链接到正在创建的BufferedReader实例的流。阅读器是一个抽象类。它的一个具体子类是InputStreamReader,,它将字节转换为字符。

若要获取链接到System.in的InputStreamReader对象,请使用以下构造函数:

代码语言:javascript
复制
InputStreamReader(InputStream inputStream)

因为System.in引用了一个InputStream,类型的对象,所以它可以用于inputStream。将所有这些放在一起,下面这行代码创建了一个连接到键盘的BufferedReader

代码语言:javascript
复制
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

执行此语句后,br是一个基于字符的流,通过System.in链接到控制台。

这是从书Java- The Complete Reference by Herbert Schildt中摘录的

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5488072

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档