IO流

    xiaoxiao2021-12-14  18

    一、概念

    输出(写)Output操作:把内存中的数据存储到持久化设备上

    输入(读)Input操作:把持久设备上的数据读取到内存中

    二、IO中相关流

    三、字节流

    字节输入流InputStream

    方法: read(); read(byte[] b)

    //字节输入流 FileInputStream fis=new FileInputStream("e:\\a.txt"); //定义每次存取的数组长度 byte[] b=new byte[2]; //每次可以取到的数组的 长度 int len=0; //每次读取都会自动循环下次的 while((len=fis.read(b))!=-1){ System.out.print(new String(b,0,len)); } //关闭 fis.close(); 字节输出流OutputStream

    方法: write(byte[] b); write(byte[] b,int off,int len); write(int b)

    //字节输出流 FileOutputStream fos=new FileOutputStream("e:\\a.txt"); //写入磁盘中 fos.write("hello".getBytes()); //关闭数据流 fos.close();

    四、字符流

    字符输入流Reader

    方法: read(); read(char[] c)

    //字符输入流 FileReader fr = new FileReader("e:\\a\\e.txt"); int ch = 0; //循环输出字符 while((ch = fr.read())!=-1){ System.out.print((char)ch); } //关闭数据流 fr.close();

    字符输出流Writer

    方法: write(char[] c);write(char[] c,int off,int len);write(int c);

          write(String s);write(string s,int off,int len)

    //字符输出流 FileWriter fw = new FileWriter ("e:\\a\\e.txt"); //写入磁盘中 fw.write("你好"); //关闭数据流 fw.close();

    五、转换流

    OutputStreamWriter类

    字节流-->字符类

    方法: write(char[] c,int off,int len); write(int c); write(string s,int off,int len)

    //字节输出流 FileOutputStream fos=new FileOutputStream("E:\\a\\fos.txt"); //字节流-->字符流,可以有编码方式的转变 OutputStreamWriter osw=new OutputStreamWriter(fos,"gbk"); //写入磁盘 osw.write("今天天气可真好啊"); //关闭流 osw.close();

    InputStreamReader类

    字符流-->字节类

    方法: read(char[] c,int off,int len);  read()

    //字节输入流 FileInputStream fis=new FileInputStream("E:\\a\\fos.txt"); //字节流-->字符流,可以有编码方式的转变 InputStreamReader isr=new InputStreamReader(fis,"gbk"); int len=0; char[] c=new char[10]; //读入内存 while((len=isr.read(c))!=-1){ System.out.println(c); } //关闭流 isr.close();

    六、缓冲流

    字节缓冲输入流BufferedInputStream

    //字节输入流绑定文件 FileInputStream fis=new FileInputStream("E:\\a\\buffer.txt"); //字节缓冲输入流 BufferedInputStream bis=new BufferedInputStream(fis);

    字节缓冲输出流BufferedOutputStream

    //字节输出流绑定文件 FileOutputStream fis=new FileOutputStream("E:\\a\\buffer.txt"); //字节缓冲输出流 BufferedOutputStream bis=new BufferedOutputStream(fis);

    字符缓冲输入流BufferedReader

    //字符输入流绑定文件 FileReader fr=new FileReader("E:\\a\\bufferWriter.txt"); //字符缓冲输入流 BufferedReader br=new BufferedReader(fr);

    字符缓冲输出流BufferedWriter

    //字符输出流绑定文件 FileWriter fw=new FileWriter("E:\\a\\bufferWriter.txt"); //字符缓冲输出流 BufferedWriter bw=new BufferedWriter(fw);

    小结:

    IO流刚开始看起来的时候感觉特别繁琐,但是细细一整理,发现很多东西都清楚了,不过重要的还是实践,IO流主要还是和File文件以及递归的综合使用,继续。

    转载请注明原文地址: https://ju.6miu.com/read-971822.html

    最新回复(0)