欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

流的存储

程序员文章站 2023-11-02 13:46:28
摘录: 一、字符流是官方对字节流的一种封装,一种简化,其目的为了令开发者更加好的读取文本。 二、FileOutputStream和FileInputStream : 1、属于字节流。 2、能设置是否覆盖原来的内容,true表示不覆盖,接着写;false表示覆盖,重写 三、OutputStreamWr ......
 1 package com.java.stream;
 2 
 3 import java.io.bufferedreader;
 4 import java.io.bufferedwriter;
 5 import java.io.file;
 6 import java.io.fileinputstream;
 7 import java.io.filenotfoundexception;
 8 import java.io.filewriter;
 9 import java.io.ioexception;
10 import java.io.inputstreamreader;
11 import java.io.unsupportedencodingexception;
12 
13 public class bufferstream {
14 
15     /**
16      * @param args
17      * @throws ioexception 
18      */
19     public static void main(string[] args) throws ioexception {
20         string sourcepathfile = "f:\\workspace\\test\\1111.txt";
21         string outpathfile = "f:\\workspace\\test1\\2222.txt";
22         string encoding = "utf-8";
23         string line = null;
24         filewriter fw = null;
25         bufferedwriter bw = null;
26         try {
27             //bufferedreader输入流
28             fileinputstream in = new fileinputstream(sourcepathfile);
29             inputstreamreader isr = new inputstreamreader(in, encoding);//定义字符集
30             bufferedreader br = new bufferedreader(isr);
31             //bufferedwriter输出
32             file file = new file(outpathfile);
33             if (!file.getparentfile().exists()) {
34                 file.getparentfile().mkdir();
35             }
36             //以下任选
37             fw = new filewriter(file);//也可使用 fileoutputstream out = new fileoutputstream(file) ;   outputstreamwriter osw = new outputstreamwriter(out); 记得写close关闭
38 //            fw = new filewriter(file,true);///true 追加信息,false 覆盖信息
39             bw = new bufferedwriter(fw);
40             while ((line = br.readline()) != null) {
41                 bw.write(line);
42                 bw.write("\r\n");//换行
43                 bw.flush();//刷新缓冲区,否则会出现数据没有写入完全的情况
44             }
45         } catch (filenotfoundexception e) {
46             e.printstacktrace();
47         } catch (unsupportedencodingexception e) {
48             e.printstacktrace();
49         } catch (ioexception e) {
50             e.printstacktrace();
51         }finally{
52             if(fw != null){
53                 fw.close();
54             }
55             if(bw != null){
56                 bw.close();
57             }
58         }
59     }
60 }

摘录:

一、字符流是官方对字节流的一种封装,一种简化,其目的为了令开发者更加好的读取文本。

二、fileoutputstream和fileinputstream :

1、属于字节流。

2、能设置是否覆盖原来的内容,true表示不覆盖,接着写;false表示覆盖,重写

三、outputstreamwriter和inputstreamreader:

1、属于字符流。

2、能设置文件读写编码。

四、bufferedwriter 和bufferedreader:

1、属于字符流

2、提供缓存区,效率高,读满缓冲区返回