IO流

扫码查看

创建源 -> 选择流 -> 操作 -> 释放

节点流 1.2.3.4.

1.访问文件

  • FileInputStream
  • FileOutputStream
  //创建源
    File fileIn=new File("D:\\note.txt");
    File fileOut=new File("D:\\out.txt");
    //选择流
    FileInputStream fis=new FileInputStream(fileIn);
    FileOutputStream fos=new FileOutputStream(fileOut);
    //操作
     //中间容器
    byte[] flush=new byte[1024];
     //接受长度
    int len=0;
     //循环读取
    while((len=fis.read(flush))!=-1) {
     //写出
     fos.write(flush,0,len);
    }
    //释放
    fos.close();
    fis.close();
  • FileReader
  • FileWriter
//创建源
File fileIn=new File("D:\\note.txt");
File fileOut=new File("D:\\out.txt");
//选择流
FileReader fr=new FileReader(fileIn);
FileWriter fw=new FileWriter(fileOut);
//操作
 //中间容器
char[] flush=new char[1024];
 //接受长度
int len=0;
 //循环读取
while((len=fr.read(flush))!=-1) {
 //写出
 fw.write(flush,0,len);
}
//释放
fw.close();
fr.close(); 

2.访问(字节/字符)数组

  • ByteArrayInputStream

  • ByteArrayOutputStream

  • CharArrrayReader

  • CharArrayWriter

3.访问管道//?

  • PipedInputStream

  • PipedOutputStream

  • PipedReader

  • PipedWriter

4.访问字符串

  • StringReader
  • StringWriter
//StringReader
     String s="当月色染云鬓成霜";
     StringReader sr=new StringReader(s);
     char[] flush=new char[1024];
     int len=0;
     while((len=sr.read(flush))!=-1) {
     System.out.println(new String(flush,0,len));
     }
     //StringWriter
     StringWriter sw=new StringWriter();
     sw.write("haha");
     sw.append(" lowlow ");
     sw.write("haha");
     System.out.println(sw.toString());//打印出haha lowlow haha
     //释放
     sr.close();
     sw.close();

5.对象流

  • ObjectInputStream
  • ObjectOutputStream
//ObjectOutputStream
     //创建流
     ObjectOutputStream oos=new ObjectOutputStream(new FileOutputStream(new               File("D:\\out.txt")));
     //写入
     oos.writeDouble(123.456);
     oos.writeInt(369);
     oos.writeBoolean(true);
     oos.writeUTF("不约儿童");
     //释放
     oos.close();

    //ObjectInputStream
     //创建流
     ObjectInputStream ois=new ObjectInputStream(new FileInputStream(new                  File("D:\\out.txt")));
     //读取(读与写的顺序一致)
     double d=ois.readDouble();
     int i=ois.readInt();
     boolean b=ois.readBoolean();
     String s=ois.readUTF();
     //释放
     ois.close();

6.转换流

  • InputStreamReader

  • OutputStreamWriter

    //InputStreamReader
     File f=new File("D:\\note.txt");
     InputStreamReader isr=new InputStreamReader(new FileInputStream(f),"gbk");
     char[] flush=new char[1024];
     while(isr.read(flush)!=-1) {
     System.out.println(new String(flush));
     }
     isr.close();
     //OutputStreamWrter
     File file=new File("D:\\out.txt");
     OutputStreamWriter osw=
     new OutputStreamWriter(new FileOutputStream(file),"gbk");
     osw.append("什么妖魔鬼怪");
     osw.close();

过滤器流

7.缓冲流

  • BufferedInputStream
  • BufferedOutputStream
   //选择流
    BufferedInputStream bis=new BufferedInputstream(fis);
    BufferedOutputstream bos=new BufferedOutputStream(fos);
    //释放
    bos.close();
    bis.close();
  • BufferedReader
    • read(char[])
    • readLine()
  • BufferedWriter
//选择流
    BufferedReader br=new BufferedReader(fr);
    BufferedWriter bw=new BufferedWriter(fw);
    String line;
     //循环读取:使用readLine()方法
    while((line=br.readLine())!=null) {
     //操作
     bw.write(line+"\n");
    }
    //释放
     bw.close();
     br.close();

8.数据流

  • DataInputStream

  • DataOutputStream

9.打印流

  • PrintStream
PrintStream ps=new PrintStream(new  File("D:\\out.txt"));
 ps.append("asd");
 ps.println(234);
 ps.append("nn");
 ps.close();

10.推回输入流

  • PushbackInputStream

  • PushbackReader

//选择流
        ByteArrayInputStream bais=new ByteArrayInputStream("abcdefg".getBytes());
        PushbackInputStream pis=new PushbackInputStream(bais);
        //操作
        int len=0;
        while((len=pis.read())!=-1) {
            if((char)len=='d') {
                pis.unread('s');
            }
            System.out.print((char)len);
        }
        //释放
        pis.close();

其他

12-27 04:54
查看更多