从标准输入中读取数据

以Unix首先倡导的“标准输入”、“标准输出”以及“标准错误输出”概念为基础,Java提供了相应的System.in,System.out以及System.err。贯这一整本书,大家都会接触到如何用System.out进行标准输出,它已预封装成一个PrintStream对象。System.err同样是一个PrintStream,但System.in是一个原始的InputStream,未进行任何封装处理。这意味着尽管能直接使用System.out和System.err,但必须事先封装System.in,否则不能从中读取数据。
典型情况下,我们希望用readLine()每次读取一行输入信息,所以需要将System.in封装到一个DataInputStream中。这是Java 1.0进行行输入时采取的“老”办法。在本章稍后,大家还会看到Java 1.1的解决方案。下面是个简单的例子,作用是回应我们键入的每一行内容:
 

//: Echo.java
// How to read from standard input
import java.io.*;

public class Echo {
  public static void main(String[] args) {
    DataInputStream in =
      new DataInputStream(
        new BufferedInputStream(System.in));
    String s;
    try {
      while((s = in.readLine()).length() != 0)
        System.out.println(s);
      // An empty line terminates the program
    } catch(IOException e) {
      e.printStackTrace();
    }
  }
} ///:~

之所以要使用try块,是由于readLine()可能“掷”出一个IOException。注意同其他大多数流一样,也应对System.in进行缓冲。
由于在每个程序中都要将System.in封装到一个DataInputStream内,所以显得有点不方便。但采用这种设计方案,可以获得最大的灵活性。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索标准
, 封装
, 输入
, system
, datainputstream
一个
shell 读取标准输入、linux 读取标准输入、php 读取标准输入、python读取标准输入、java 读取标准输入,以便于您获取更多的相关知识。

时间: 2024-10-18 10:28:49

从标准输入中读取数据的相关文章

buffer cache实验9:从buffer caceh中读取数据块解析-从逻辑读到物理读

先来张大图: 所用SQL语句: BYS@ ocm1>select dbms_rowid.rowid_relative_fno(rowid) file#,dbms_rowid.rowid_block_number(rowid) block#,deptno from bys.test;     FILE#     BLOCK#     DEPTNO ---------- ---------- ----------         4        391         10 就以上图为例,文字描述

从Java的jar文件中读取数据的方法

  这篇文章主要介绍了从Java的jar文件中读取数据的方法,实例分析了java档案文件的相关操作技巧,需要的朋友可以参考下 本文实例讲述了从Java的jar文件中读取数据的方法.分享给大家供大家参考.具体如下: Java 档案 (Java Archive, JAR) 文件是基于 Java 技术的打包方案.它们允许开发人员把所有相关的内容 (.class.图片.声音和支持文件等) 打包到一个单一的文件中.JAR 文件格式支持压缩.身份验证和版本,以及许多其它特性. 从 JAR 文件中得到它所包含

c++的问题-C++中的从文件中读取数据并用链表创建的问题,请帮我看一下我的代码在哪里出现了问题

问题描述 C++中的从文件中读取数据并用链表创建的问题,请帮我看一下我的代码在哪里出现了问题 Phone* creat() { ifstream file("Phone.txt"); if( !file ) { for( int i = 0 ; i < 7; i++ ) cout< cout cout system("pause"); system("cls"); } next=NULL; Phone *pNew,*head,*q;

c-求大神指点怎样从文件中读取数据!!

问题描述 求大神指点怎样从文件中读取数据!! int main() { double data; FILE *fp=fopen("e://in.txt","r"); if(!fp) { printf("can't open file "); return -1; } while(!feof(fp)) { fscanf(fp,"sfdf =%lf",&data); printf("%lf",data)

代码- 做js 树状图从文本中读取数据

问题描述 做js 树状图从文本中读取数据 求高手发个参考代码, 在线等,急!!! 解决方案 手里没有,你看下解析xml的方式.无非就是循环根节点,根据根节点循环子节点. 要学会百度

Hadoop URL中读取数据出错:unknown protocol: hdfs

今天在学习如何从hadoop中读取数据时,写了一个简单的方法,测试时,却报以下错误: 以下是读取hadoop中文件并写入本地磁盘的代码: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 package hdfs;   import java.io.BufferedReader; import java.io.FileWriter; import java.io.InputS

rslinx-java如何链接opc服务器(RSLinx),并从opc服务器(RSLinx)中读取数据

问题描述 java如何链接opc服务器(RSLinx),并从opc服务器(RSLinx)中读取数据 老大给派的任务,局域网内访问另外一台电脑上的RSLinx服务器.网上找的资源都不怎么看的懂.求大神指导用什么方法进行链接 解决方案 可通过jeasyopc-2.3.2 实现java - opc的互联,不过只能局限在XP的系统里,相对应的服务器版本应该为windows_2003.我试过在XP中读取数据.

r语言-(错误在哪里)R语言如何从文件中读取数据

问题描述 (错误在哪里)R语言如何从文件中读取数据 file.choose() [1] "C:UsersHPDesktop新建文件夹data.txt" data1<-read.table("data.txt",header=T) 错误于make.names(col.names, unique = TRUE) : ''多字节字符串有错 data1<-read.table("data.txt",header=T,quote = FALSE

javascript jquery-jquery中getScript()的用法详解,从一个远程js文件中读取数据

问题描述 jquery中getScript()的用法详解,从一个远程js文件中读取数据 第一个html文件: <html> <head> <script type="text/javascript" src="jquery-2.1.3.js"></script> $.getScript("shuj.js",function(){alert("aaaaa");}) </hea