• 流的存储


     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("
    ");//换行
    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、提供缓存区,效率高,读满缓冲区返回

  • 相关阅读:
    Haproxy+Keepalived高可用环境部署梳理(主主和主从模式)
    使用nginx sticky实现基于cookie的负载均衡
    CENTOS 6.6初始化SHELL脚本
    Java 开源博客 Solo 1.2.0 发布
    Java 开源博客 Solo 1.2.0 发布
    Java多线程-synchronized关键字
    Maven项目pom.xml配置详解
    4.0 苹果系统安装之黑苹果(4)
    3.0 Windows和Linux双系统安装(3)
    2.0 Linux系统的安装之Fedora安装单系统(2)
  • 原文地址:https://www.cnblogs.com/Monster-World/p/9564707.html
Copyright © 2020-2023  润新知