ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Io流输出输入文本小结

2021-12-09 15:00:32  阅读:188  来源: 互联网

标签:字节 InputStreamReader len bw Io close new 文本 小结


 字节流可以复制任何文件数据:通常使用字节输入缓冲流(BufferedInputStream)和字节输出缓冲流(BufferedOutputStream)一次读入一个字节数组来实现。代码如下:

//使用字节缓冲流一次读一个字节数组
public static void method04()throws IOException {
    //读文件,使用FileInputStream,一次读一个字节
    BufferedInputStream fi =new BufferedInputStream( new FileInputStream("D:\\itcast\\video.mp4"));
    //写文件,使用FileOutputStream,一次写一个字节
    BufferedOutputStream fo =new BufferedOutputStream( new FileOutputStream("D:\\itcast\\video04.mp4", true));
    //读文本信息,并写入一次只有一个字节数组。
    byte[] byt=new byte[1024];
    int len;
    while ((len=fi.read(byt)) != -1) {
        fo.write(byt,0,len);
    }
    fi.close();
    fo.close();
}

字符流只能复制文本数据:通常使用字符输入流(BufferedReader)和字符输出流(BufferedWriter)一次读入一个字节数组来实现。代码如下:

public static void main(String[] args) throws IOException {
    BufferedReader br = new BufferedReader(new FileReader(("D:\\IdeaProject\\test.txt")));
//FileReader是InputStreamReader的子类。
    BufferedWriter bw = new BufferedWriter(new FileWriter("D:\\IdeaProject\\test01.java"));
    String line;
    while ((line=br.readLine()) != null) {
        bw.write(line);
        bw.newLine();//换行,在任何系统都是用。
        bw.flush();//刷新,使读到的内容及时写入
    }
    br.close();
    bw.close();
}

注意:若是需要设置编码格式时,那只能使用:InputStreamReader和OutputStreamWriter来实现;代码如下:

public static void main(String[] args) throws IOException {
    InputStreamReader isr=new InputStreamReader(new FileInputStream("D:\\IdeaProject\\src\\StreamRead\\StreamDemop.java"),"UTF-8");
//InputStreamReader有设置编码格式的方法
    OutputStreamWriter osw=new OutputStreamWriter(new FileOutputStream("D:\\IdeaProject\\src\\IoDemo\\StreamDemo02.java"),"UTF-8");
    char[] cha=new char[1024];
    int len;
    while((len=isr.read(cha))!=-1){
    osw.write(cha,0,len);
    }
    isr.close();
    osw.close();
    System.out.println();
}

标签:字节,InputStreamReader,len,bw,Io,close,new,文本,小结
来源: https://blog.csdn.net/m0_64772939/article/details/121821429

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有