全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

关于Java中的IO流总结(推荐)

1、 流的继承关系,以及字节流和字符流。

2、 节点流FileOutputStream和FileInputStream和处理流BufferedInputStream和BufferedOutputStream。以及对应的FileOutputWriter,FileInputReader,BufferedInputReader,BufferedOutputWriter。

3、 转换流InputStreamReader和OutputStreamWriter

一:流的继承关系

字节流

字符流

字符流和字节流的使用范围:字节流一般用来处理图像,视频,以及PPT,Word类型的文件。字符流一般用于处理纯文本类型的文件,如TXT文件等,字节流可以用来处理纯文本文件,但是字符流不能用于处理图像视频等非文本类型的文件。

二:处理流BufferedReader,BufferedWriter,BufferedInputStream

BufferedOutputsStream,都要包上一层节点流。也就是说处理流是在节点流的基础之上进行的,带有Buffered的流又称为缓冲流,缓冲流处理文件的输入输出的速度是最快的。所以一般缓冲流的使用比较多。

下面是两个简单的文件复制的实例:

public class MycopyTest {
  public static void main(String[] args) {
    File src = new File("D:/1.jpg");
    // D:/1.jpg必须的存在不然会报错
    File dest = new File("D:/2.jpg");
    // 如果D:/2.jpg存在则覆盖,如果不存在则新建
    streamCopy(src, dest);
  }
private static void readCopy(File src,File dest)
  {
    FileReader fr=null;
    FileWriter fw=null;
    BufferedReader br=null;
    BufferedWriter bw=null;
    try {
      fr=new FileReader(src);
      fw=new FileWriter(dest);
      br=new BufferedReader(fr);
      bw=new BufferedWriter(fw);
      String str;
      while((str=br.readLine())!=null)
      {
        bw.write(str);
        bw.newLine();
      }
    }catch (IOException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }
    try {
      bw.close();
      br.close();
    } catch (IOException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }

  }
  private static void streamCopy(File src, File dest) {
    FileInputStream fis = null;
    FileOutputStream fos = null;
    BufferedInputStream bis = null;
    BufferedOutputStream bos = null;
    try {
      fis = new FileInputStream(src);
      fos = new FileOutputStream(dest);
      bis = new BufferedInputStream(fis);
      bos = new BufferedOutputStream(fos);
      int len;
      byte[] b = new byte[1024];
      while ((len = bis.read(b)) != -1) {
        bos.write(b, 0, len);
        // bos.write(b,0,len);是把读到数组的大小字节写入
        // bos.write(b);最后一次如果数组未写满的话就会多读。
      }
    } catch (IOException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }
    try {
      bos.close();
      bis.close();
    } catch (Exception e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }
  }
}

 三:转换流InputStreamReader和OutputStreamWriter

 转换流的作用,文本文件在硬盘中以字节流的形式存储时,通过InputStreamReader读取后转化为字符流给程序处理,程序处理的字符流通过OutputStreamWriter转换为字节流保存。

public class InputStreamWriterTest {
  public static void main(String[] args) {
    File src = new File("D:/Files/哈哈.txt");
    File dest = new File("D:/Files/斯密斯.txt");
    BufferedWriter bw = null;
    BufferedReader br = null;
    FileInputStream fis = null;
    FileOutputStream fos = null;
    try {
      fis = new FileInputStream(src);
      fos = new FileOutputStream(dest);
      InputStreamReader ir = new InputStreamReader(fis, "GBK");
      OutputStreamWriter ow = new OutputStreamWriter(fos, "GBK");
      bw = new BufferedWriter(ow);
      br = new BufferedReader(ir);
      String str;
      while ((str = br.readLine()) != null) {
        bw.write(str);
        bw.newLine();
        bw.flush();
      }
    } catch (IOException e) {
      e.printStackTrace();
    }
    try {
      bw.close();
      br.close();
    } catch (IOException e) {
      e.printStackTrace();
    }
  }
}

以上这篇关于Java中的IO流总结(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。


# java io流总结  # 给大家  # 文本文件  # 就会  # 是在  # 都要  # 希望能  # 不存在  # 这篇  # 报错  # 转化为  # 比较多  # 转换为  # 小编  # 读到  # 中以  # 大家多多  # 可以用来  # 写满  # 基础之上  # 包上 


相关文章: 如何在企业微信快速生成手机电脑官网?  建站之星备案是否影响网站上线时间?  免费视频制作网站,更新又快又好的免费电影网站?  建站之星如何开启自定义404页面避免用户流失?  详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)  外汇网站制作流程,如何在工商银行网站上做外汇买卖?  如何在IIS服务器上快速部署高效网站?  网站网页制作电话怎么打,怎样安装和使用钉钉软件免费打电话?  如何通过西部建站助手安装IIS服务器?  详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)  表情包在线制作网站免费,表情包怎么弄?  建站之星安装需要哪些步骤及注意事项?  宝塔新建站点为何无法访问?如何排查?  如何在云主机上快速搭建网站?  如何配置IIS站点权限与局域网访问?  如何通过IIS搭建网站并配置访问权限?  建站之星图片链接生成指南:自助建站与智能设计教程  css网站制作参考文献有哪些,易聊怎么注册?  建站之星云端配置指南:模板选择与SEO优化一键生成  公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?  教育培训网站制作流程,请问edu教育网站的域名怎么申请?  网站建设制作需要多少钱费用,自己做一个网站要多少钱,模板一般多少钱?  高端云建站费用究竟需要多少预算?  在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?  Java解压缩zip - 解压缩多个文件或文件夹实例  建站之星收费标准详解:套餐费用及年费价格表一览  5种Android数据存储方式汇总  建站之星如何保障用户数据免受黑客入侵?  如何快速打造个性化非模板自助建站?  黑客如何通过漏洞一步步攻陷网站服务器?  Android自定义控件实现温度旋转按钮效果  网站制作模板下载什么软件,ppt模板免费下载网站?  建站之星与建站宝盒如何选择最佳方案?  建站之星会员如何解锁更多建站功能?  高防服务器租用指南:配置选择与快速部署攻略  非常酷的网站设计制作软件,酷培ai教育官方网站?  制作网站外包平台,自动化接单网站有哪些?  再谈Python中的字符串与字符编码(推荐)  内部网站制作流程,如何建立公司内部网站?  如何彻底卸载建站之星软件?  三星网站视频制作教程下载,三星w23网页如何全屏?  ,有什么在线背英语单词效率比较高的网站?  可靠的网站设计制作软件,做网站设计需要什么样的电脑配置?  如何快速上传自定义模板至建站之星?  番禺网站制作公司哪家值得合作,番禺图书馆新馆开放了吗?  网站制作的软件有哪些,制作微信公众号除了秀米还有哪些比较好用的平台?  网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?  香港网站服务器数量如何影响SEO优化效果?  网页设计与网站制作内容,怎样注册网站?  网站制作新手教程,新手建设一个网站需要注意些什么? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。