`
zhaojuan8
  • 浏览: 34078 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
文章分类
社区版块
存档分类
最新评论

java I/O

阅读更多

虽然做java有段时间了发觉对java IO流掌握的还不是很好,所以觉得花一个晚上的时间在对io资料看看,所以就有了这片文章流在JAVA中一般分为输入流(Input Stream)和输出流(Output Stream)2类,但这不是绝对的划分,比如一个文件当我们在向该文件写数据的时候,就是一个输出流;当从该文件读数据的时候,那么就是一个输入流,对于初学者而言可能经常把输入流和输出流弄混淆包括我也是这样,经常弄不清楚输入流和输出流,拿上面的例子分析,当程序向文件写数据的时候,就是程序把流输出到文件那么流的源头(既所有者)是程序,当在程序去读文件的数据的时候,这个时候还是以程序为中心是把文件中的对象(流)输入进程序,呵呵 以上只是个人比较愚昧的理解。

在java中主要是java.io包中提供一系列的类和接口来实现输入和输出处理的,标准输入和输出则是java.lang包提供的类来处理,但他们都是从java.io包中的类继承而来。

基本输出流的原理如下:

  • 读(输入流):打开一个流对象->当不是结尾,从流中读入数据->关闭流对象。
  • 写(输出流):打开一个流对象->当不是结尾,向流中写入数据->关闭流对象。

在java1.1以前,java.io中只提供了字节流,在1.1以后的版本中加入了字符流

  • 字节流

java中每一种字节流基本功能都依赖于基本类InputStream和OutputStream,他们都是抽象类,不能直接使用  

下面是个文件流的简单例子

java 代码
  1. import java.io.*;   
  2.   class Filestream   
  3.  {   
  4.     public static void main(String args[])   
  5.     {   
  6.         try  
  7.         {   
  8.              File inFile=new File("file1.txt");   
  9.              File outFile=new File("file2.txt");   
  10.              FileInputStream fis=new FileInputStream(inFile);   
  11.              FileOutputStream fos=new  FileOutputStream(outFile);   
  12.            int c;   
  13.              while((c=fis.read())!=-1)  fos.write(c);   
  14.              fis.close();   
  15.              fos.close();   
  16.         }catch(FileNotFoundException e) {   
  17.                System.out.println("FileStreamsTest: "+e);   
  18.         }catch(IOException e) {   
  19.            System.err.println("FileStreamsTest: "+e);   
  20.         }   
  21.     }   
  22. }   

 

  • 字符流:java.io包中的类以Reader和Writer为基础类派生而来,Reader和Writer类也是抽象类,只提供处理一系列字符流的接口。

InputStreamReader和OUtputStream是java.io包中处理字符流的最基本的类

分享到:
评论
2 楼 liangguanhui 2007-12-20  
另外,还有一个不属于输入输出流的IO:RandomAccessFile
1 楼 liangguanhui 2007-12-20  
IO的分类其实有很多种,如果是按是否堵塞,可以分为堵塞(BIO)和非堵塞(NIO);如果是按照读取来源,可以分文件IO和socket IO,而对于处理对象,可以氛围字节IO和字符IO。另外,有部分辅助的IO,主要是用于处理缓存(例如BufferedReader)或者字符串处理的(PrintWriter)

相关推荐

    Java I/O, 2nd Edition

    《Java I/O, 2nd Edition》是一本深入探讨Java输入/输出系统的重要书籍,针对Java平台的I/O系统提供了全面且深入的指南。这本书在第二版中对Java I/O进行了更新,涵盖了从Java 5到Java 8的最新发展,包括NIO.2(New ...

    java I/O内容

    这是一个关于Java I/O的知识点总结,希望大家共同学习,共同进步

    java I/O类的使用

    Java I/O类库是Java平台的核心部分,它提供了丰富的类用于处理输入和输出操作。这个系统包括了多种类,从简单的字节流到复杂的字符流,以及一系列的装饰器类,用于扩展和增强原始流的功能。 Java 1.0 和 1.1 中的I/...

    Java I/O, NIO and NIO.2

    Java I/O, NIO, 和 NIO.2 是Java平台中处理输入/输出操作的核心组件,对于任何Java开发者来说,理解和掌握这些概念至关重要。本文将深入探讨这些技术,旨在提供一个全面而详尽的概述。 Java I/O(Input/Output)是...

    Java I/O编程 java

    Java I/O 编程是Java开发中的重要组成部分,主要用于处理数据的输入与输出。下面将详细阐述其中的关键概念和方法。 1. 数据流的概念及输入输出方法: 数据流是计算机中进行数据传输的通道,包括从外部设备到程序的...

    Java I/O 过滤流-带格式的读写操作

    在Java编程语言中,输入/输出(I/O)是处理数据传输的核心部分。过滤流(Filter Stream)是Java I/O框架中的一个重要概念,它提供了一种优雅的方式来进行数据的读写操作,同时允许我们添加额外的功能,如字符编码...

    Java I/O 流代码实例大全(01~09)

    Java I/O 流代码实例大全(01~09) File、FileInputStream、FileOutputStream、FileReader、FileWriter、BufferedInputStream、BufferedOutputStream、BufferedReader、BufferedWriter

    Java I/O 第二版

    OReilly.Java.I.O.2nd.Edition.May.2006 Java的io包主要包括: 1. 两种流:字节流(byte Stream)和字符流(character stream),这两种流不存在所谓的谁代替谁、谁比谁高级之说,它们互为补充,只是侧重点不同...

    深入分析 Java I/O 的工作机制(转载)

    Java I/O(输入/输出)系统是Java编程语言中用于处理数据流的重要组成部分,它允许程序与外部资源如文件、网络、硬件设备等进行交互。深入理解Java I/O的工作机制对于开发高效、可靠的系统至关重要。以下是对Java I/...

    Java I/O系统

    Java I/O系统是Java编程语言中的一个重要组成部分,它允许程序进行输入输出操作,与外部世界进行数据交互。在Java中,I/O系统基于流的概念,流可以被视为数据的流动渠道,既可以用来读取数据(输入流),也可以写入...

    Java 新I/O

    Java 新I/O,也称为NIO(New Input/Output),是Java平台中对传统I/O模型的一种改进。在Java 1.4版本中引入的NIO库为开发人员提供了更高效、非阻塞的数据处理方式,特别适用于高并发、低延迟的系统。NIO的核心在于...

    Java I/O层次结构详解

    Java I/O层次结构详解 Java I/O系统是Java平台中不可或缺的一部分,它为开发者提供了处理输入和输出的强大工具。在Java中,I/O操作主要基于流(Stream)的概念,流可以被视为数据的有序序列,既可以代表从源读取...

    Java I/O流通讯录

    Java I/O流通讯录是一个基于Java编程语言设计的实用程序,它主要用于演示和学习Java的I/O流操作。在这个项目中,开发者通过I/O流实现了对文件的读写功能,从而构建了一个简单的通讯录系统。这个系统允许用户进行添加...

    Java I/O学习笔记: 磁盘操作 字节操作 字符操作 对象操作 网络操作 NIO & AIO Java I/O

    Java I/O学习笔记: 磁盘操作 字节操作 字符操作 对象操作 网络操作 NIO & AIO Java I/O Java是一种面向对象的编程语言,由Sun Microsystems于1995年推出。它是一种跨平台的语言,意味着可以在不同的操作系统上运行...

    Java I/O总结

    ### Java I/O总结 #### 一、从`new BufferedReader(new InputStreamReader(conn.getInputStream()))`想到的 在Java编程中,处理输入输出(I/O)是一项常见的任务。这段代码`new BufferedReader(new ...

    java i/0习题

    Java I/O(输入/输出)是Java编程语言中不可或缺的一部分,它允许程序与外部资源进行数据交换,如文件、网络连接、系统硬件等。在Java I/O中,我们使用流(Stream)的概念来处理数据,流是数据传输的通道。本套习题...

    java I/o 详细介绍课件

    java I/o java I/o 详细介绍课件

    Java I/O文件读写/删除/复制等

    Java I/O 文件操作是Java编程中的重要组成部分,它允许开发者处理输入和输出,涉及文件的创建、读取、写入、删除以及复制等任务。在Java中,这些操作主要是通过java.io包提供的类来实现的。下面将详细介绍这些知识点...

    Java I/O 使用和最佳实践

    Java I/O系统是Java编程语言中的一个核心组成部分,它提供了处理输入输出操作的类和接口。这个系统的设计目的是为了使得应用程序能够与外部世界交互,包括读取和写入文件、网络数据、标准输入输出流等。在Java中,I/...

    MaglevIO,一个易于使用和高效的Java I/O库。基于Java NATEVEIO。.zip

    MaglevIO是一个专注于提供易用性和高性能的Java I/O库,其设计灵感来源于Java的非阻塞I/O(Non-blocking I/O,NIO)框架。NIO是Java平台中一个重要的部分,它允许程序在处理大量并发连接时显著提高效率,尤其是在...

Global site tag (gtag.js) - Google Analytics