`
Tonyguxu
  • 浏览: 277810 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

【Java IO】IO介绍

 
阅读更多

传统IO模型——流模型

 

Java IO分类

 

文件输入/输出流

FileInputStream/FileReader

FileOutputStream/FileWriter

示例:文件拷贝(字节流)

public void doCopy(){
FileInputStream fis = null;
FileOutputStream fos = null;
try{
fis = new FileInputStream(sourceFile);
fos = new FileOutputStream(newFile);
byte[] buffer = new byte[1024];
int hasRead = 0;
while((hasRead=fis.read(buffer))>0){
fos.write(buffer,0,hasRead);
}
}catch(IOException e){
}finally{
if(fis != null)
fis.close();
if(fos != null)
fos.close();
}
}

文件拷贝(字符流)

pubilc void doCopy(){
FileReader fr = null;
FileWriter fw = null;
try{
fr = new FileReader(sourceFile);
fw = new FileWriter(newFile);
char[] buffer = new char[32];
int hasRead = 0;
while((hasRead = fr.read(buffer)>0)){
fw.write(buffer,0,hasRead);
}
}catch(){}finally{}
if(fr != null)
fr.close();
if(fw != null)
fw.close();
}
 

 

包装流

隐藏底层设备上的节点流的差别。对外提供更加方便的输入/输出方法。

如:利用PrintStream输出字符串和对象——PrintStream.println(String) ,PrintStream.println(Object);

//节点流
FileOutputStream fos = new FileOutputStream(file);
//节点流 --> 包装流
PrintStream ps = new PrintStream(fos);
ps.println(string);
ps.println(object);
 

BufferedReader.readLine()方便读取一行内容;

//InputStream --> Reader
InputStreamReader reader = new InputStreamReader(System.in);
//节点流 --> 包装流
BufferedReader br = new BufferedReader(reader);
String buffer;
while((buffer = br.readLine()) != null){
//
}
 

注意:如果执行输入/输出的内容是文本内容,则考虑使用字符流;

如果是二进制内容,则考虑使用字节流。

 

转换流 (InputStreamReader/OutputStreamWriter):

字节流 --> 字符流

InputStreamReader reader = new InputStreamReader(InputStream);

OutputStreamWriter writer = new OutputStreamWriter(OutputStream);

 

RandomAccessFile

 

 

分享到:
评论

相关推荐

    java IO教程,java IO教程,java IO教程

    java IO教程,java IO教程,java IO教程,java IO教程java IO教程java IO教程java IO教程java IO教程,java IO教程java IO教程java IO教程java IO教程java IO教程,java IO教程,java IO教程,java IO教程,java IO...

    Java IO应届生培训讲义

    综上所述,Java IO培训讲义通过系统介绍Java IO的基本概念和模型,帮助应届生理解并掌握Java IO类库的使用,特别是在了解和应用不同IO模型时的注意事项和实践方法。通过这份讲义,初学者能更好地理解和编写涉及Java ...

    java IO.chm

    《Java IO.chm》是一个关于Java输入/输出(IO)技术的压缩文件,其中包含了丰富的资料,适合开发者深入理解和学习Java IO系统。这篇详细的总结将围绕Java IO体系结构、核心类、流的概念、缓冲区、转换流、字符集、...

    Java IO知识点

    Java IO(Input/Output)是Java编程语言中用于处理输入输出操作的重要部分,涉及文件、网络、内存等数据传输。本文将深入探讨Java IO的基本概念、分类、选择流的策略以及常用的流类型。 首先,File类是Java IO的...

    java io 结构图

    Java IO(Input/Output)是Java编程语言中用于处理输入和输出操作的重要组成部分。它提供了一整套类库,使得开发者能够有效地读取和写入数据到不同的源和目标,如文件、网络、内存缓冲区等。Java IO体系结构设计得...

    Java IO_NIO

    Java IO(Input/Output)是Java编程语言中用于处理输入输出操作的基础框架,它提供了丰富的类库,使得程序能够与各种设备、文件、网络进行数据交互。然而,传统的IO模型在处理大量并发连接时表现出效率较低的问题,...

    java IO流精讲

    IO 简介,只看这篇,IO全部搞定,对于初学者来说,不可多得

    Java教程之javaIO详解

    Java IO 详解 Java IO(Input/Output)是 Java 语言中用于处理输入输出操作的类库,提供了大量的类和方法来实现文件、网络、字节流等方面的输入输出操作。下面对 Java IO 中的重要知识点进行详细说明。 一、File ...

    Java IO 使用例

    在“JavaIODemo”这个示例中,可能会包含以上提到的一些或全部Java IO操作的代码实例,通过这些实例,我们可以学习如何在实际项目中应用Java IO API。实践是掌握Java IO的最佳方式,通过对这些示例的分析和运行,...

    Java IO处理类的汇总

    Java IO处理类是Java平台中用于输入输出操作的核心部分,它允许程序与各种类型的输入源(如文件、网络连接)以及输出目标(如显示器、打印机)进行交互。本篇文章将全面解析Java IO处理类,包括基本概念、常用类库、...

    JavaIO流详解归纳.pdf

    JavaIO流详解归纳 Java 的核心库 java.io 提供了全面的 IO 接口,包括文件读写、标准设备输出等。Java 中 IO 是以流为基础进行输入输出的,所有数据被串行化写入输出流,或者从输入流读入。在项目开发中,IO 是非常...

    java io.pdf

    Java IO(Input/Output)是Java编程语言中用于处理输入和输出操作的重要组成部分。它提供了丰富的类库,允许程序员在程序之间传输数据,包括从文件、网络、内存缓冲区到其他程序或系统组件。Java IO API是Java平台的...

    java小项目练习IO实现

    在Java编程领域,IO(Input/Output)技术是不可或缺的一部分,尤其在处理数据持久化、文件操作、网络通信等方面发挥着重要作用。在这个“java小项目练习IO实现”中,我们将探讨如何利用Java的IO流来实现本地数据的...

    java io处理 方法

    java io处理 方法java io处理 方法

    Java IO 编程集合

    Java IO编程是Java平台中处理输入输出操作的重要组成部分,它提供了丰富的类库,使得开发者能够高效地进行数据的读取、写入、流的管理和转换。在这个集合中,我们主要探讨的是Java IO在文件读写方面的实践应用。 一...

    Java io流总结

    Java io流的总结

    java IO流精讲 JAVA IO流实例开发

    Java IO流是Java平台中用于处理输入/输出操作的核心组件,它允许程序与各种数据源(如文件、网络连接、内存缓冲区等)进行交互。Java IO流的精讲涵盖了许多概念和技术,包括流的分类、流的方向、缓冲区的使用、字符...

    java-IO框架图

    例如,javaio.bmp和javaio2.bmp可能是两张展示IO框架图的图片,其中详细描绘了不同类之间的继承关系和使用场景,帮助开发者更好地理解和掌握Java IO系统。 总结一下,Java IO框架是Java平台不可或缺的一部分,它为...

Global site tag (gtag.js) - Google Analytics