zoukankan      html  css  js  c++  java
  • io流

    一、流的分类

       按操作数据分:字节流与字符流

       按流向分:输出流,输入流

    二、IO流常用基类

    字节流的抽象基类:

      InputStream,OutputStream

    字符流的抽象基类

     Reader  writer

    三、字符流的特点

    1、Writer(抽象基类:意味着要别人来实现)

    常用直接子类:FileWriter

    需求:在硬盘上,创建一个文件并写入数据

    import java.io.FileWriter;
    import java.io.IOException;
    
    
    public class IoWriter {
        public static void main(String[] args) throws IOException {
            //创建一个FileWriter对象,该对象被初始化必须要明确被操作的文件
            //假如"demo.txt"之前不存在,编译运行后它会被创建。如果目录下有同名文件,将被覆盖 
            FileWriter fw=new FileWriter("demo.txt");
           //调用write方法,将字符串写到流(内存)中,还没写到目的地
            fw.write("abc");
          //这个刷新方法把流中的东西写到目的地
            fw.flush();
        }
    
    }

    需求:我想续写文件内容,该怎么做?

    import java.io.FileWriter;
    import java.io.IOException;
    
    
    public class IoWriter {
        public static void main(String[] args) throws IOException {
            
            //加上一个true即可
            FileWriter fw=new FileWriter("demo.txt",true);
          
            fw.write("hahaha");
        
            fw.flush();
        }
    
    }

    2、Reader(抽象)

    常用子类:FileReader 

    需求:读取“demo.txt”中的内容

    public class FileReaderDemo {
        public static void main(String[] args) throws IOException {
            //我想读的文件是谁。这个文件必须存在,否则报异常
            FileReader fr=new FileReader("demo.txt");
           //read():一次读一个字符。而且会自动往下读
            int ch1=fr.read();        
            System.out.println("ch1="+(char)ch1);
            int ch2=fr.read();        
            System.out.println("ch2="+(char)ch2);
            //假如我读到末尾,没有东西可以读,就会返回-1
            while(true){
                int ch=fr.read();
                if(ch==-1)
                    break;
                System.out.println("ch="+(char)ch);
            }
                
            fr.close();
        }
    
    }

    又或者把循环语句改成:

    public class FileReaderDemo {
        public static void main(String[] args) throws IOException {
            //我想读的文件是谁。这个文件必须存在,否则报异常
            FileReader fr=new FileReader("demo.txt");
          
            //又或者这么读,如果不等于-1,我就一直读
            int ch=0;
            
            while((ch=fr.read())!=-1){
                System.out.println("ch="+(char)ch);
            }
                    fr.close();
        }
    
    }

     


              

  • 相关阅读:
    农田开发 NOJ (已知N个点选取3个求最大三角形面积问题)
    农田开发 NOJ (已知N个点选取3个求最大三角形面积问题)
    农田开发 NOJ (已知N个点选取3个求最大三角形面积问题)
    农田开发 NOJ (已知N个点选取3个求最大三角形面积问题)
    数次统计 NOJ 1601
    数次统计 NOJ 1601
    数次统计 NOJ 1601
    数次统计 NOJ 1601
    微型计算机原理与接口技术实验1.3.1
    微型计算机原理与接口技术实验1.3.1
  • 原文地址:https://www.cnblogs.com/chenqr/p/6421899.html
Copyright © 2011-2022 走看看