输出(写)Output操作:把内存中的数据存储到持久化设备上
输入(读)Input操作:把持久设备上的数据读取到内存中
字节输入流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文件以及递归的综合使用,继续。
