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();
        }
    
    }

     


              

  • 相关阅读:
    试试Linux下的ip命令,ifconfig已经过时了
    VirtualBox中Linux虚拟机与主机共享文件夹
    VirtualBox内刚刚安装完CentOS6.9和7系统,无法调整屏幕的分辨率,也无法设置共享文件夹。解决的方法就是安装VirtualBox客户端增强包。
    Ftp、Ftps与Sftp之间的区别
    Linux 桌面的 Dock 类程序
    Dubbo服务超时
    Dubbo启动时检查
    Dubbo配置参数的优先级
    Dubbo监控中心
    SpringBoot集成监控管理
  • 原文地址:https://www.cnblogs.com/chenqr/p/6421899.html
Copyright © 2011-2022 走看看