• IO流


    IO流

    1、IO流分类:

      根据流向分:

        输入流  读取数据  FileReader  Reader

        输出流  写出数据  FileWriter    Writer

      根据数据类型分:

        字节流(直接写到文件中):

           字节输入流  读取数据  InputStream(抽象类)

                        FileInputStream ,BufferedInputStream,

           字节输出流  写出数据  OutputStream(抽象类)

                        FileOutputStream ,BufferedOutputStream,

        字符流(首先写到缓冲区):     

           字符输入流  读取数据  Reader

           字符输出流  写出数据  Writer

     字符流能实现的功能字节流都能实现,反之不一定。如:图片,视频等二进制文件,只能使用字节流读写。

    2、使用字符流读写文本文件:

     1 import java.io.File;
     2 import java.io.FileReader;
     3 import java.io.FileWriter;
     4 import java.io.IOException;
     5 
     6 public class FlieCopy {
     7     public static void main(String[] args) throws IOException {
     8         File f=new File("C:\Users\Administrator\Desktop\Test\a.txt");
     9         f.createNewFile();
    10         FileWriter fw=new FileWriter("C:\Users\Administrator\Desktop\Test\a.txt");
    11         fw.write("床前明月光,
    疑是地上霜;
    举头望明月,
    低头思故乡");
    12         fw.flush();
    13         FileReader fr=new FileReader("C:\Users\Administrator\Desktop\Test\a.txt");
    14         fw.close();
    15         fw=new FileWriter("C:\Users\Administrator\Desktop\Test\c.txt");
    16         int len=0;
    17         char[] chs=new char[1024];
    18         while((len=fr.read(chs))!=-1) {
    19             fw.write(chs,0,len);
    20         }
    21         
    22         fr.close();
    23         fw.close();
    24     }
    25 }

    3、使用字节流复制图片

     1 import java.io.FileInputStream;
     2 import java.io.FileOutputStream;
     3 import java.io.IOException;
     4 
     5 public class CopImg {
     6     public static void main(String[] args) throws IOException {
     7         FileInputStream fin=new FileInputStream("C:\Users\Administrator\Desktop\Img.jpg");
     8         FileOutputStream fout=new FileOutputStream("C:\Users\Administrator\Desktop\ImgCopy.jpg");
     9         int len=0;
    10         byte[] buff=new byte[1024];
    11         while((len=fin.read(buff))!=-1) {
    12             fout.write(buff, 0, len);
    13         }
    14         fin.close();
    15         fout.close();
    16     }
    17 }
  • 相关阅读:
    Git中tag标签的使用
    antd vue Layout 组件收缩展开自定义
    antd vue Popover气泡卡片的使用
    antd vue Tree树形控件的使用
    antd vue Message 全局提示的使用
    tp5.1 关联条件查询haswhere 用field限制字段失效的问题
    Chrome 调试技巧: 调整网速
    html2canvas导出图片模糊
    点击其他区域不让编辑器失去焦点
    启动的项目经常挂怎么办
  • 原文地址:https://www.cnblogs.com/hopeyes/p/9733479.html
Copyright © 2020-2023  润新知