`

《Java 程序设计》— IO接口(I)

阅读更多

抽象类InputStream——抽象方法read()

抽象类OutputStream——抽象方法write()

 

节点流:用于对数据进行读写

      字节类型的节点流:

        文件:FileInputStream, FileOutputStream;

        内存(数组):ByteArrayInputStream, ByteArrayOutputStream;

        管道:PipedInputStream, PipedOutputStream;

      字符类型的字节流:

        文件:FileReader, FileWriter;

        内存(数组):CharArrayReader, CharArrayWriter;

        内存(字符串):StringReader, StringWriter;

        管道:PipedReader, PipedWriter;

处理流:用于对数据执行某种处理

        面向字节的处理流:BufferedInputStream, BufferedOutputStream, DataInputStream, DataOutputStream;

        面向字符的处理流:BufferedWriter, BufferedReader, InputStreamReader, InputStreamWriter;

InputStreamReader, InputStreamWriter用于将字节流按照指定的字符集转换到字符流:

例如:new InputStreamReader(System.in) - 将按照默认的字符集将键盘输入转换为字符流。

public class BufferedReader
extends Reader

        从字符输入流中读取文本,缓冲各个字符,从而实现字符、数组和行的高效读取。

        类BufferedReader提供了readLine()方法,可以一次从流中读一行。

例如:

import java.io.*;
public class ConvertStream
{
	public static void main(String[] args) throws IOException
	{
		String s;
		BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
		while((s=in.readLine())!=null)
		{
			System.out.println("Read:"+s);
		}
	}
}

 

标准流对象:

标准输入:System.in; 是InputStream类的对象;

      char ch = System.in.read();

      注意:1、System.in.read()可能会抛出IOException异常。

               2、当键盘缓冲区中没有未被读取的数据时,执行System.in.read()将导致线程转入阻塞(block)状态。

               3、执行System.in.read()方法将从键盘缓冲区读入一个字节的数据,返回32位整形量。System.in只能从键盘读取二进制的数据,而不能把这些比特信息转换为复杂数据类型量(int char float等)。

      说明:System.in是一个未经处理的InputStream。

               BufferedReader的readLine()用来读取一行文本。

               先把System.in包装成BufferedReader。在这之前还需用InputStreamReader把System.in转换成Reader。

      如:BufferedReader in = new BufferedReader(new InputStreamReader(System.in));//把标准输入通过InputStreamReader由二进制数据流变成字符数据流。

例如:

import java.io.*;
public class Echo
{
	public static void main(String[] args)
	{
		try
		{
			BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
			System.out.print("Please enter an integer:");
			String s = in.readLine();
			int i = Integer.parseInt(s);
			System.out.println("You have entered an integer:"+i);			
		}
		catch(NumberFormatException e)
		{
			System.out.println("Number format error!");
		}
		catch(IOException e)
		{
			System.out.println(e.toString());
		}
	}
}

 

标准输出:System.out; System.out是一个预先处理过的,被包装成了PrintStream的对象。

标准错误:System.err; 同System.out。

 

分享到:
评论

相关推荐

    java程序设计例题全集

    从标签“java程序设计”我们可以推断,这些示例将围绕Java语言的核心概念展开,如类、对象、方法、变量、数据类型、控制结构(如if-else,for,while循环)、继承、接口、异常处理等。这些都是学习Java时必须掌握的...

    java 程序设计思想

    Java程序设计思想是编程领域的核心概念,它不仅仅是关于语法和函数调用,更是关于如何构建高效、可维护、可扩展的软件系统。本书的核心目的是帮助新手程序员理解和掌握这些设计原则和最佳实践,从而提升他们的编程...

    Java程序设计\java IO

    Java程序设计中的IO(Input/Output)是Java编程语言中处理数据输入和输出的重要部分,主要涉及文件操作、数据传输和流的概念。Java IO库位于`java.io`包中,提供了一系列类和接口,用于实现不同类型的I/O操作。本节...

    JAVA程序设计说明书

    《JAVA程序设计说明书》 Java程序设计是一种广泛应用于软件开发领域的技术,其强大的跨平台能力和丰富的类库使得它成为企业级应用、移动应用以及互联网应用的首选编程语言。本说明书将深入探讨Java程序设计的基本...

    Java程序设计及应用开发教程

    Java程序设计及应用开发教程是面向初学者和进阶者的一门重要课程,旨在深入讲解Java编程语言的基础知识以及在实际应用中的开发技巧。通过这门教程,学习者可以掌握如何利用Java进行高效、可靠的软件开发。 首先,...

    Java程序设计课件 Java程序设计课件

    Java程序设计是一门涵盖广泛且基础的编程课程,它涵盖了从基本语法到高级概念的各个方面。这个课件集合旨在帮助学习者系统地理解和掌握Java语言,以成为一名合格的程序员。以下是一些关键知识点的详细说明: 1. **...

    java程序设计教程第七版课后习题答案

    Java程序设计教程第七版是Java学习者的重要参考资料,其课后习题答案对于巩固理论知识、提高编程技能具有极大帮助。本教程涵盖了Java语言的基础到高级特性,包括但不限于语法、面向对象编程、异常处理、集合框架、多...

    java程序设计及应用开发习题参考答案.rar

    Java程序设计及应用开发是计算机科学领域中的核心课程之一,主要教授如何使用Java语言进行软件开发。本资源“java程序设计及应用开发习题参考答案.rar”是一个压缩包,包含了针对该课程习题的详细解答,旨在帮助学习...

    java程序设计教程(第五版)源代码

    《Java程序设计教程(第五版)》的源代码提供了丰富的实例,有助于深入理解Java的核心概念和技术。在本教程中,我们将探讨一些关键的Java编程知识点,这些知识点通常在学习过程中扮演着重要角色。 1. **基础语法**...

    Java程序设计PPT

    综上所述,"Java程序设计PPT"涵盖了编程基础、面向对象编程、异常处理、集合框架、多线程、I/O流等关键知识点,为初学者提供了一个全面的Java学习路径。通过深入学习和实践,可以逐步掌握这个强大而灵活的编程语言,...

    JAVA程序设计(唐大仕)

    《JAVA程序设计》是唐大仕教授的一门深入讲解Java编程技术的课程,这份课件是作者亲自提供的,因此内容的权威性和准确性毋庸置疑。对于初学者和希望深化Java知识的开发者来说,这份资源极其宝贵。接下来,我们将详细...

    JAVA程序设计(慕课版)课后习题答案

    Java程序设计是编程学习的重要部分,特别是在慕课版的课程中,它通常涵盖了基础到进阶的概念,旨在帮助学生深入理解和掌握Java语言。这个“JAVA程序设计(慕课版)课后习题答案”文件集合提供了对课程练习的解答,这...

    Java程序设计语言-第4版.pdf

    书籍《Java程序设计语言-第4版》作为学习资源,也很可能是群内推荐的学习材料。从“标题”和“描述”中可以看出,这本书适合有一定基础的开发者继续深入学习,也适合刚刚入门的新手作为参考书。书籍通常会系统地介绍...

    Java程序设计第二版习题答案

    Java程序设计是计算机科学中的一个基础且至关重要的领域,它为开发者提供了强大的工具来构建复杂的软件系统。在《Java程序设计(第二版)》一书中,作者深入浅出地介绍了Java编程语言的基本概念和核心特性。这本书的...

    《Java程序设计》教案

    《Java程序设计》是计算机科学领域的一门重要课程,它主要教授如何使用Java语言进行软件开发。这门课程的教案,如"《Java程序设计》博雄教案",通常会包含一系列的教学目标、课程大纲、重点讲解内容以及配套的练习题...

    Java程序设计培训教程

    Java程序设计是软件开发领域中的基础且至关重要的技能,尤其对于初学者而言,掌握Java语言是进入IT行业的关键步骤。本“Java程序设计培训教程”旨在为新手提供一个全面、系统的Java学习路径。 首先,Java是一种面向...

    Java 程序设计

    Java程序设计是软件开发领域中的一个核心主题,它是一种广泛使用的高级编程语言,以其平台无关性、面向对象的特性以及丰富的类库而受到全球程序员的青睐。本资料集旨在通过通俗易懂的方式深入浅出地讲解Java编程的...

    Java程序设计基础答案

    Java程序设计基础是计算机科学领域一个至关重要的课程,主要针对初学者,旨在教授如何使用Java语言进行编程。这个课程涵盖了一系列的关键概念和技术,包括语法、数据类型、控制结构、类与对象、异常处理、集合框架等...

    Java程序设计任务驱动式教程

    《Java程序设计任务驱动式教程》是一本针对初学者和进阶者精心编写的Java编程教程,由孙修东主编。这本书以“任务驱动”的方式引导读者深入学习Java语言,旨在提升读者的实际编程能力和问题解决能力。通过完成一系列...

Global site tag (gtag.js) - Google Analytics