(1)标准输入流:System.in是InputStream类的对象,当程序中需要从键盘读入数据时候,只需要调用System.in中的read()方法。
char ch=System.in.read();
注意:
必须捕获System.in.read()所抛出的异常;
执行System.in.read()方法将从键盘缓冲区读入一个字节的数据,然而返回的16位的二进制数据,其低8位为键盘的ASCII码,高8位为0;
使用System.in.read()来实现键盘输入时,如果键盘缓冲区中没有数据时,系统将进入阻塞状态。所以可以利用它来实现程序的暂停,用户输入后再继续执行。
(2)标准输出流:System.out它是打印输出流PrintStream类的对象,它定义了向屏幕输出不同类型数据的方法println()与 print()。
注意:
System.out.println()它可以输出多种不同类型的数据(如:boolean,double,float,int,long类型的变量以及Object类的对象);
当输出类型为对象时,它将自动调用对象的toString()方法,因此在对象所在的类中应该重写toString()方法以输出特定的文字。
(3)标准输入输出的重定向:改变标准输入输出的方向为其它形式如从文件中输入或输出到文件中。
方法:利用System类中的3个static 方法可以实现。
Java代码
1.setIn(InputStream in)
2.setOut(PrintStream out)
3.setErr(PrintStream out)
IORedirect.java
Java代码
1.import java.io.BufferedInputStream;
2.import java.io.BufferedOutputStream;
3.import java.io.BufferedReader;
4.import java.io.FileInputStream;
5.import java.io.FileOutputStream;
6.import java.io.IOException;
7.import java.io.InputStreamReader;
8.import java.io.PrintStream;
9.
10.public class IORedirect {
11.
12. public static void main(String[] args) throws IOException {
13. PrintStream console = System.out;
14. BufferedInputStream in = new BufferedInputStream(new FileInputStream("c://UserInput.txt"));
15. PrintStream out = new PrintStream(new BufferedOutputStream(new FileOutputStream("c://UserOutput.txt")));
16.
17. /**
18. * 1. 不set任何值,也就是不指定任何输入,输出,错误流方向,保持最原始,通过命令行输入数据System.in
19. *
20. * 2. setInt将in缓冲输入流作为输入流,即入口,此时不需要从命令行中输入数据,直接从指定输入流文件中获得对应数据
21. *
22. * 3. setOut将打印流作为出口,即输入流中信息通过程序处理之后最终通过out展示出来
23. *
24. * 4. setErr将打印输出流作为标准错误输出终端
25. */
26.
27. System.setIn(in);
28. System.setOut(out);
29. System.setErr(out);
30.
31. BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
32.
33. String s;
34. while ((s = br.readLine()) != null) {
35. System.out.println(s);
36. }
37. out.close(); // Remember this!
38. System.setOut(console);
39. }
40.}
分享到:
相关推荐
在Java编程语言中,I/O(输入/输出)是程序与外部世界交互的重要部分,而标准输入输出流(System.in, System.out, System.err)是Java内置的预定义流,用于处理程序与操作系统之间的基本输入输出操作。这篇博客将深入...
《Java I/O, 2nd Edition》是一本深入探讨Java输入/输出系统的重要书籍,针对Java平台的I/O系统提供了全面且深入的指南。这本书在第二版中对Java I/O进行了更新,涵盖了从Java 5到Java 8的最新发展,包括NIO.2(New ...
在Java编程语言中,输入/输出(I/O)是处理数据传输的核心部分。过滤流(Filter Stream)是Java I/O框架中的一个重要概念,它提供了一种优雅的方式来进行数据的读写操作,同时允许我们添加额外的功能,如字符编码...
总的来说,Java I/O、NIO和NIO.2是Java平台中处理输入输出的三个重要阶段,它们各自有其特点和适用范围。学习和运用这些技术,能够帮助开发者更好地处理数据交互,提高程序的性能和可扩展性。通过阅读《Java I:O, ...
Java I/O 编程是Java开发中的重要组成部分,主要用于处理数据的输入与输出。下面将详细阐述其中的关键概念和方法。 1. 数据流的概念及输入输出方法: 数据流是计算机中进行数据传输的通道,包括从外部设备到程序的...
Java 1.1引入了过滤器流的概念,如`FilterInputStream`、`FilterReader`和`FilterOutputStream`,它们作为装饰器接口,用于给原始的输入/输出流添加额外的功能。例如,`DataInputStream`和`DataOutputStream`就是...
流可以是输入流或输出流,输入流用于从源头获取数据,输出流则用于向目的地发送数据。Java提供了许多预定义的流类,例如FileInputStream和FileOutputStream分别用于读取和写入文件,而SocketInputStream和...
I/O流是指在计算机系统中输入输出之间传输的数据序列。输入流指从外部源(如键盘、磁盘、网络)流向程序的数据,而输出流则是从程序流向外部设备(如显示器、打印机、磁盘)的数据。流式输入输出的一个特点是数据的...
OReilly.Java.I.O.2nd.Edition.May.2006 Java的io包主要包括: 1. 两种流:字节流(byte Stream)和字符流(character stream),这两种流不存在所谓的谁代替谁、谁比谁高级之说,它们互为补充,只是侧重点不同...
I/O流分为两大类:字符流(Character Stream)和字节流(Byte Stream),每类又分为输入流(Input Stream)和输出流(Output Stream)。下面将详细解释这些概念以及它们在Java中的应用。 1. 字节流: - 输入流:...
在Java中,I/O系统基于流的概念,流可以被视为数据的流动渠道,既可以用来读取数据(输入流),也可以写入数据(输出流)。本篇文章将深入探讨Java I/O系统的核心概念、主要类库以及常见使用场景。 首先,Java I/O...
Java I/O流通讯录是一个基于Java编程语言设计的实用程序,它主要用于演示和学习Java的I/O流操作。在这个项目中,开发者通过I/O流实现了对文件的读写功能,从而构建了一个简单的通讯录系统。这个系统允许用户进行添加...
Java提供了丰富的I/O处理机制,包括标准输入输出流、字节流、字符流等多种方式来处理数据的读取和写入。标准输入输出流是Java中非常基础且重要的组成部分。 **1.1 标准输入输出流简介** - **System.out**: 是一个`...
Java I/O(输入/输出)是 Java 编程语言中处理数据流的核心技术之一。通过 I/O,我们可以读取文件、网络数据等外部资源,并将程序产生的数据写入到文件或网络等地方。Java 的 I/O 主要分为两大类:`InputStream` 和 ...
Java I/O(输入/输出)是Java编程语言中不可或缺的一部分,它允许程序与外部资源进行数据交换,如文件、网络连接、系统硬件等。在Java I/O中,我们使用流(Stream)的概念来处理数据,流是数据传输的通道。本套习题...
Java I/O 包是Java平台的核心部分,它提供了丰富的类和接口用于处理输入输出操作,包括文件操作和流式输入输出。在这个主题中,我们将深入探讨如何使用Java进行文件管理和流处理。 首先,我们来看看`java.io`包中的...
理解并熟练运用这些Java I/O类和接口,能够有效地处理各种输入输出任务,无论是在文件系统、网络还是内存中。对于开发高效、稳定的系统,掌握Java I/O层次结构至关重要。在实际项目中,可以根据需求选择合适的类和...
Java的I/O系统是Java平台的核心特性之一,用于处理数据的输入输出操作。这个系统包括一系列的类和接口,主要用于字节和字符的传输,涵盖了从简单文件操作到复杂的网络通信。在Java中,I/O操作是通过数据流的概念来...
Java中的I/O系统不仅涵盖了文件的读写,还包括网络数据交换、内存数据处理及控制台输入输出等多个方面。 Java通过引入流的概念,将各种不同类型的数据源(如文件、网络、内存)统一抽象为流,简化了程序员对不同...
字节流是Java I/O的基础,分为输入流(InputStream)和输出流(OutputStream)。InputStream处理数据的输入,OutputStream处理数据的输出。它们都定义了读写数据的基本方法,如read()和write()。常用的子类有...