IO字符流

字符流基本操作,理解写入.txt文件:

Reader:输入流

Writer:输出流

import java.io.IOException;
import java.io.FileNotFoundException;
import java.io.File;
import java.io.Reader;
import java.io.FileReader;
import java.io.Writer;
import java.io.FileWriter;

public class FileDemo03 {
    public static void main(String[] args) {
        //创建操作对象源(目标)
        File file=new File("D:"+File.separator+"FilesTest"+File.separator+"Test.txt");

        function_2(file);
        function_1(file);
    }
    /*
    字符输出流
     */
    public static void function_2(File file){
        //创建管道
        Writer writer=null;
        try{
            //给一个File对象构造一个FileWriter对象。 如果第二个参数是true ,则字节将写入文件的末尾而不是开头。
            writer=new FileWriter(file,true);
            //写数据
            writer.write("
ASDF");
            writer.flush();
            System.out.println("xie ru wan cheng!");
        }catch(FileNotFoundException e ) {
            e.printStackTrace();
            throw new RuntimeException("文件未找到");
        }catch (IOException o){
            o.printStackTrace();
            throw new RuntimeException("文件写入失败");
        }finally {
            //关闭资源
            try{
                writer.close();
            }catch (IOException e){
                e.printStackTrace();
            }
        }

    }
    /*
    字符输入流
     */
    public static void function_1(File file){
        //创建管道
        Reader reader=null;
        try{
            //创建一个新的 FileReader ,给定 FileDescriptor读取。
           reader=new FileReader(file);
            //创建字符缓存数据数组 char[]
            char[] chars=new char[5];
            int len=-1;
            while (reader.read(chars) !=len){
                System.out.println(chars);
            }
        }catch(FileNotFoundException e ){
            e.printStackTrace();
            throw new RuntimeException("文件未找到");
        }catch (IOException ioExceptiono){
            ioExceptiono.printStackTrace();
            throw new RuntimeException("字符读取失败");
        }finally{
            //关闭资源(管道)
            try{
                reader.close();
            }catch (IOException close){
                close.printStackTrace();
            }
        }
    }
}

 缓冲区:

BufferedReader:缓冲输入流

BufferedWriter:缓冲输出流

import java.io.*;

public class BufferedDemo02 {
    public static void main(String[] args) {
        //创建源(目标对象)
        File file=new File("D:"+File.separator+"FilesTest"+File.separator+"Test.txt");
        try{
            //输入流管道
            Reader reader=new FileReader(file);
            //输出流管道
            Writer writer=new FileWriter(file);
            //创建缓冲区
            BufferedReader bufferedReader=new BufferedReader(reader);
            BufferedWriter bufferedWriter=new BufferedWriter(writer);
            //写入字符
            bufferedWriter.write("niubi");
            char[] chars=new char[1024];
            int len=-1;
            while ((len = bufferedReader.read(chars)) !=-1) System.out.println("a" + chars);

            bufferedWriter.flush();
            bufferedReader.close();
            bufferedWriter.close();
        }catch(IOException o){
            o.printStackTrace();
        }
    }
}
原文地址:https://www.cnblogs.com/Zeng02/p/12776861.html