• 5、IO--BufferedReader&BufferedReader


    BufferedReader

    常见方法:

    BufferedReader(Reader in)  接收一个Reader类的实例

    readLine()    一次性从缓冲区中将内容全部读取出来

    注意:

    BufferedReader中只能接收输入流的实例

    必须使用字符输入流和字节输入流的的转换类InputStreamReader将字节输入流转换为字符流

    实例:

    此时关闭是由里到外进行关闭

    	public static void main(String[] args) throws IOException {
    		
    		//1、
    		File file = new File("d:\test.txt");
    		InputStream in =new FileInputStream(file);
    		//转化流
    		Reader reader = new InputStreamReader(in);
    		
    		//2、
    		BufferedReader breader = null;
    		breader = new BufferedReader(reader);
    		
    		String str = null;
    		while((str = breader.readLine())!=null){
    			System.out.println(str);
    		}
    		
    		//3、关闭
    		in.close();
    		reader.close();
    		breader.close();
    		
    	}

    读取的结果:

    BufferedWriter

    主要的写方法:

    注意:

    BufferedReader中只能接收输入流的实例

    必须使用字符输入流和字节输入流的的转换类OutputStreamWriter将字节输入流转换为字符流

     注意:

    关闭是由外至里

        public static void main(String[] args) throws IOException {
            
            //1、
            File file = new File("d:\test.txt");
            OutputStream   out = new FileOutputStream(file);
            Writer writer = new OutputStreamWriter(out);
            
            //2、
            BufferedWriter bwriter = null;
            bwriter = new BufferedWriter(writer);
            
            
            //3、
            bwriter.write("我是MrChengs 
    
     我爱博客园");
            
            //4、关闭流资源
            bwriter.close();
            writer.close();
            out.close();
    }

     小测试复制文件内容:

        public static void main(String[] args) throws IOException {
            
            //将test.txt文件的内容复制到aaa.txt文件中
            //1、
            //被复制内容的为念
            File file = new File("d:\test.txt");
            InputStream in = new FileInputStream(file);
            Reader reader = new InputStreamReader(in);
            //空文件  即将被test.txt的内容进行填充
            //File file1 = new File("aaa.txt");
            OutputStream out = new FileOutputStream("d:\aaa.txt");
            Writer writer = new OutputStreamWriter(out);
            
            //2、
            BufferedWriter bwriter = null;
            bwriter = new BufferedWriter(writer);
            
            BufferedReader breader = null;
            breader = new BufferedReader(reader);
            
            
            //3、
            String str =null;
            int i = 0;
            
            while((str = breader.readLine()) != null){
                bwriter.write(str);
            }
            
            System.out.println("--");
            
            //4、关闭
            in.close();
            reader.close();
            breader.close();
            
            bwriter.close();
            writer.close();
            out.close();
    }

     此时出现的问题是复制的内容仅仅之后填充再一行中

     解决方法:

  • 相关阅读:
    Python—函数基础篇
    C语言 文件操作(四)
    C语言 文件操作(三)
    C语言 文件操作(二)
    C语言 文件操作(一)
    C语言 生日快乐
    Matlab入门(二)
    Matlab入门(一)
    精华篇:数组指针
    汇编刷题:求一到100内的偶数之和(本程序将和按十六进制输出)
  • 原文地址:https://www.cnblogs.com/Mrchengs/p/10813600.html
Copyright © 2020-2023  润新知