流的存储

2018-09-01 05:42:24来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

 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、提供缓存区,效率高,读满缓冲区返回

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:IO流的简单理解

下一篇:Java全栈程序员之02:Ubuntu下Java环境安装、配置、测试