【转载】JAVA中IO流操作的基本规律总结

流操作的基本规律:三个明确

1.明确源和目的;

源:输入流即读取流       InputStream,Reader

目的:输出流即写入流    OutputStream, Writer

2.明确操作的数据是否是纯文本文件;

如是果是纯文本文件使用字符流Reader 或Writer,不是纯文本文件 使用字节流InputStream或 OutputStream

3.当体系明确后,在明确具体的适用对象;

通过设备来区分

源设备:内存  硬盘  键盘

目的设备:内存  硬盘   控制台

***************************************************************************************************

eg1:将一个文本文件的数据复制到另一个文件

分析开始:

源是一个文本文件所以使用字符流,因为要读取区其中的数据,选择Reader

接下来明确使用对象,设备是硬盘上的文件,Reader体系中操作文件的对象时FileReader

FileReader fr=new FileReader("a.txt");

为了提高读取效率,加入Reader体系之中的缓冲区BufferedReader(装饰类)

BufferedReader br=new BufferedReader(fr);

目的:也是一个文件,因为要向其中写入数据,选择Writer

因为该文件也存在与硬盘之上,所以使用Writer体系中操作文件的对象FileWriter

FileWriter fw=new FileWriter("b.txt");

同理,为了提高读取效率,加入 Writer 体系之中的缓冲区BufferedWriter

Buffered Writer  br=new Buffered Writer r(fw);

若是图片、音频或是视频文件,分析步骤同上,改成相应的字节流即可。

********************************************************************************************************

eg2:将键盘录入的数据保存到文件当中

分析:源是键盘录入( InputStream,Reader),是纯文本(Reader);

设备:键盘,对应的对象System.in

由于体系是Reader,而System是字节流(InputStream),所以要转成字符流,利用Reader体系中的字节转字符的桥梁:InputStreamReader

InputStreamReader isr=new InputStreamReader(System.in);

为了提高效率,使用BufferedReader

BufferedReader br=new BufferedReader(isr);

目的:也是文本文件,Writer

设备:硬盘上的文件,使用对象FileWriter

FileWriter fw=new FileWriter("a.txt");

同样为了提高效率:Buffered Writer  br=new Buffered Writer r(fw);

如果要将文本中的文件输出到控制台,按照上面的三个明确即可。

原文博客:http://blog.csdn.net/u012355386/article/details/22697155

浅显易懂,非常好用

原文地址:https://www.cnblogs.com/ViokingJava/p/8184396.html

时间: 2024-11-29 09:40:56

【转载】JAVA中IO流操作的基本规律总结的相关文章

Java中Io流操作-File类的常用操作-创建文件,创建文件夹

package com.hxzy.IOSer; import java.io.File;import java.io.IOException; public class Demo03 { public static void main(String[] args)throws Exception{ Gu_1(); Gu_2(); } /* * 2.File对象调用file.mkdirs() * 可以创建多层文件夹 * 这个方法是创建文件夹的 返回的同样是布尔值 * 同样需要File类的构造方法

JAVA中IO流总结

本文是在学习中的总结,欢迎转载但请注明出处:http://write.blog.csdn.net/postedit/42119261 我想你对JAVA的IO流有所了解,平时使用的也比较的多,但是对于其具体分类和继承体系可能知道的并不多,可能也很少去看相关的API文档,找出其中的关系和各自的应用情形.本文简单对常用的IO流进行分类整理,并简单举例说明其应用.希望本文对你有所帮助. (A)IO流大致分为两种: (1)字节流:对应抽象类为InputStream(输入流)和 OutputStream(输

黑马程序员------Java中IO流学习总结

Java培训.Android培训.iOS培训..Net培训.期待您的交流 一.概念 流:流就是字节序列的抽象概念,能被连续读取数据的数据源和能被连续写入数据的接收端就是流 IO流:用于处理设备上的数据 常用设备:硬盘.内存.键盘录入等 IO流的分类: 1.根据处理的数据类型不同,可分为字节流和字符流. 字符流的由来:因为文件编码的不同,而有了对字符高效操作的字符流对象,原理是基于字节流读取字节时,去查了相关码表. 字符流和字节流的区别: **字节流读取时,读到一个字节就返回一个字节:而字符流是字

java中IO流的操作

读取转换流--读取键盘录入中键盘录入一行数据并打印其大写,发现就是读一行数据的原理.也就是readLine方法.能不能直接使用readLine方法来完成键盘录入一行数据的读取呢?readLine方法是字符流BufferedReader类中的方法.而键盘录入的read方法是字节流InputStream的方法.那么能不能将字节流转换成字符流再去使用字符流缓冲区的readLine方法呢. public class TransStreamDemo { public static void main(St

java中io流浅析

1.java.io包下File类:java程序中的此类的一个对象,就对应着硬盘中的一个文件或网络中的一个资源.File file1 = new File("d:\\io\\helloworld.txt");File file2 = new File("d:\\io\\io1");>1.File既可以表示一个文件(.doc .xls .mp3 .avi .jpg .dat),也可以表示一个文件目录!>2.File类的对象是与平台无关的.>3.File

Java中IO流

* IO流用来处理设备之间的数据传输 * Java对数据的操作是通过流的方式 * Java用于操作流的类都在IO包中 * 流按流向分为两种:输入流,输出流. * 流按操作类型分为两种: * 字节流 : 字节流可以操作任何数据,因为在计算机中任何数据都是以字节的形式存储的 * 字符流 : 字符流只能操作纯字符数据,比较方便. 字节流 |--InputStream(字节输入流,字节流的抽象父类,抽象类不能直接创建对象,必须使用子类) |--FileInputStream(文件字节输入流,就是以字节的

Java中IO流,输入输出流概述与总结

总结的很粗糙,以后时间富裕了好好修改一下. 1:Java语言定义了许多类专门负责各种方式的输入或者输出,这些类都被放在java.io包中.其中, 所有输入流类都是抽象类InputStream(字节输入流),或者抽象类Reader(字符输入流)的子类: 而所有输出流都是抽象类OutputStream(字节输出流)或者Writer(字符输出流)的子类. [首先需要明白的是:流是干什么的???(为了永久性的保存数据)   根据数据流向的不同分为输入流和输出流:   根据处理数据类型的不同分为字符流和字

Java中IO流的介绍

一.流的概念 流(stream)的概念源于UNIX中管道(pipe)的概念.在UNIX中,管道是一条不间断的字节流,用来实现程序或进程间的通信,或读写外围设备.外部文件等.       一个流,必有源端和目的端,它们可以是计算机内存的某些区域,也可以是磁盘文件,甚至可以是Internet上的某个URL.        流的方向是重要的,根据流的方向,流可分为两类:输入流和输出流.用户可以从输入流中读取信息,但不能写它.相反,对输出流,只能往输入流写,而不能读它.       实际上,流的源端和目

java中IO流相关知识点

package zdbIO; import java.io.File;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.OutputStream; public class OutputStreamDemo1 { /**     * @throws IOException      * @throws IOException