码迷,mamicode.com
首页 > 编程语言 > 详细

java 输出流的操作与介绍

时间:2014-11-06 14:59:38      阅读:231      评论:0      收藏:0      [点我收藏+]

标签:io流   java   file   output   input   

一)File类:

File类是java中的文件类,它即可以用来创建目录,也可以用来创建文件。java中所有的IO流都是针对文件的操作,所以,要想把javaIO学好,学扎实,强烈建议先将File学好。

二)FileInputStream/FileOutputStream:字节输入输出流:

这两个流是最低级的流,它们的读取是以字节的形式进行的。之后的字符流,缓冲流都是在它的基础上进行了包装,才更方便读取和写入字符。

同时,如果是读取非文档的内容时,比如像图片和视频,这两个流相当的好用。

FileInputStream fis = new FileInputStream(new File("path"));

FileOutputStream fos = new FileOutputStream (new File("path"));

不过对于流来说,很多的初学者对输入输出的概念容易搞混淆,下面我总结一下自己对流的理解吧:

1、我们应该站在内存的角度去看输入/输出

所谓输入流:就是读取文件内容,放入内存中,相对于内存来说,就是输入(也就是将文件内容输入到内存中)。所以我们要读取文件内容,应该使用FileInputStream(输入流)去将文件内容读入到内存,然后我们才能看到。

所谓输出流:就是写入文件内容,也就是将内存中的内容写入到文件中,相对于内存来说,就是输出。所以我们要写入文件时,应该使用FileOutputStream(输出流)去将内容写入到文件中,然后文件才会有内容。

三)InputStreamReader/OutputStreamWriter:字符输入输出流:

针对字符操作的输入输出流,可以直接读、写字符串。

InputStreamReader isr = new InputStreamReader(new FileInputStream(new File("path")));

OutputStreamWriter osw = new OutputStreamWriter (new FileOutputStream (new File("path")));

四)FileReader/FileWriter:字符输入输出流:它们是InputStreamReader/OutputStreamWriter的子类,功能更加的强大

这两个是对字符操作的流,我们不需要像操作字节那样子,读取字符和写入字符而要自己去一系列烦琐的操作,真的就可以读写。方便快捷。

FileReader fr = new FileReader(new FileInputStream(new File("path")));

FileWriter fw = new FileWriter(new FileOutputStream (new File("path")));

注意,FileWriter 还有一个很重要的功能就是,可以从文件末尾对文件内容的追加,只要在创建这个对象时,设置一下即可,如下:

FileWriter fw = new FileWriter(new FileOutputStream (new File("path")),true);//为true时,表示从文件末尾追加内容。

五)BufferReader/BufferWriter:具有缓冲的字符输入输出流:

它们也是对字符操作的高级流,它能一次性写入很多的内容,从而达到高效的目的,相当于数据库的的批处理一样。

BufferedReader br = new BufferedReader(new FileReader(new FileInputStream(new File("path"))));

BufferedWriter bw = new BufferedWriter(new FileWriter(new FileOutputStream (new File("path"))));

六)PrintWriter 打印输出流:也是一个高级流,用于打印,比较方便,其最大的特色就是可以设置自动刷新功能。还有格式化打印

PrintWriter pw = new PrintWriter(new FileOutputWriter(new FileOutputStream (new File("path"))));

最后,有一点要提醒大家,流一定记得要关闭,这样子才能释放资源,所以关闭流的操作最好放在finally中去操作。



java 输出流的操作与介绍

标签:io流   java   file   output   input   

原文地址:http://blog.csdn.net/u012149894/article/details/40857921

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!