IO流知识总结2

IO流知识总结2,第1张

使用字符流读写文件 读文件 使用 Reader抽象类实现

使用reader读取文本文件案例:

 public static void main(String[] args) {
        File f1=new File("java1.txt");
        Reader r1=null;
        StringBuffer sb=null;
        try {
             r1=new FileReader("java1.txt");
            int length=0;
             char[] a=new char[1024];
             while ((length=r1.read(a))!=-1){
                 System.out.println(new String(a,0,length));
             }
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                r1.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
}

使用Bufferedreader类来提高读取文本文件的效率        

使用FileReader类与BufferedReader类 BufferedReader 类是 Reader 类的子类 BufferedReader 类带有缓冲区 ,按行读取内容的readLine() 方法, BufferedReader 类特有的方法
public static void main(String[] args) {
        FileReader fileReader=null;
        BufferedReader reader=null;
        try {
           fileReader=new FileReader("caijian2.txt");
           reader=new BufferedReader(fileReader);
           String s="";
           while ((s=reader.readLine())!=null){
               System.out.println(s);
           }
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }finally {
            try {
                reader.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
            try {
                fileReader.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
通过字符流的方式读取文件,并使用缓冲区,提高读文本文件的效率. Reader类常用方法 :int read( )          int read(byte[] c)   read(char[] c,int off,int len)   void close( )  子类BufferedReader常用的构造方法  BufferedReader(Reader in)  子类BufferedReader特有的方法  readLine() 写文件 使用 Writer抽象类实现

案例:

 public static void main(String[] args) {
        File file=new File("java1.txt");
        Writer w1=null;
        try {
             w1=new FileWriter(file,true);
             w1.write(97);
             w1.write("zhang");
             w1.write("hh");
             w1.write(new char[]{'7','8','t'});
             w1.write(new char[]{'7','8','t'},0,1);
             w1.write("冲冲冲");
            w1.flush();
        } catch (IOException e) {
            e.printStackTrace();
        }finally {
            try {
                w1.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
使用 FileWriter 类与 BufferedWriter 提高 字符流写文本文件的效率:使用 BufferedWriter 类是 Writer 类的子类 BufferedWriter 类带有缓冲区 代码实例:
public static void main(String[] args) {
        FileWriter fileWriter=null;
        BufferedWriter writer=null;
        try {
            fileWriter=new FileWriter("caijian2.txt");
            writer=new BufferedWriter(fileWriter);
            writer.write(97);
            writer.write("战神");
            writer.newLine();
            writer.append('q').append('f');
            writer.write("哈哈哈");
        } catch (IOException e) {
            e.printStackTrace();
        }finally {
            try {
                writer.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
            try {
                fileWriter.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
Writer类常用方法  write(String str)  write(String str,int off,int len)  void close()  void flush() 子类BufferedWriter常用的构造方法  BufferedReader(Writer out) 小总结: File 类用于访问文件或目录的属性  程序和数据源之间通过流联系  输入流和输出流  字节流和字符流  节点流和包装流  FileInputStream和FileOutputStream以字节流的方式读写文本文件。  BufferedReader和BufferedWriter以字符流的方式读写文本文件,而且效率更高。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/langs/876216.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-13
下一篇2022-05-13

发表评论

登录后才能评论

评论列表(0条)

    保存