zoukankan      html  css  js  c++  java
  • IO字 节流/字符流 读取/写入文件


    流是指一连串流动的数据信号,以先进,先出的方式发送和接收的通道

    流的分类
    根据方向分为
    输入流
    所有接收,获得,读取的操作都是属于输入流
    所有的输入流名字都带有input或Reader

    输出流
    所有发送,写的操作都是属入输出流
    所有的输出流名字都带有output或Writer

    根据格式划分

    字节流
    单字节为单位发送或接收数据,所有的数据格式都可以通过字节流来传输
    但是字节流对中文(以及其他双字节的文字)格式不能直接支持,需要编码转换
    字节流可以传输所有的文件包括二进制文件
    字节流在操作时本身不会用到缓冲区(内存),是文件本身直接操作的

    字符流
    双字节为单位(1字符)发送或接收数据,只能用于发送或接收文本格式的数据(比如txt文件),
    本身支持中文(以及其他双字节文字)格式,不需要转码操作。
    字符流只能传输文本文件
    字符流在操作时使用了缓冲区,通过缓冲区再操作文件。

    JAVA中流的结构图。

    字符流复制文件

    File file=new File("d:\1.txt");
    FileReader fr=new FileReader(file);
    BufferedReader br=new BufferedReader(fr);//读取一行
    File file2=new File("d:\2.txt");
    FileWriter fw=new FileWriter(file2);
    BufferedWriter bw=new BufferedWriter(fw);//添加一行
    String str=br.readLine();
    while (str!=null) {
    bw.write(str);
    str=br.readLine();
    }
    bw.close();
    fw.close();
    br.close();
    fr.close();

    字节流复制文件

    File file1 = new File("D:/1.gif");
    File file2 = new File("D:/2.gif");
    FileInputStream in = new FileInputStream(file1);
    FileOutputStream out = new FileOutputStream(file2);
    int a = in.read();
    while(a!=-1){
    out.write(a);
    a = in.read();
    }
    out.close();
    in.close();

  • 相关阅读:
    图片轮显效果大全
    firefox 对WebRTC支持
    Android AES加密算法及事实上现
    怎样以学习单片机为契机,逐步成为优秀的project师
    HTML中Select的使用具体解释
    POJ 3602 Typographical Ligatures
    远程控制编写之屏幕传输 MFC实现 屏幕截图 发送bmp数据 显示bmp图像
    blend
    POJ3187 Backward Digit Sums
    牛腩公布系统--HTTP 错误 403.14
  • 原文地址:https://www.cnblogs.com/laotan/p/3649553.html
Copyright © 2011-2022 走看看