zoukankan      html  css  js  c++  java
  • 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();
    }

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

     解决方法:

  • 相关阅读:
    [jenkins] 启动错误 Failed to start LSB: Jenkins Automation Server.
    SpringBoot AOP注解式拦截与方法规则拦截
    JS !function 稀奇古怪的写法
    业务场景后端优化
    对称加密和非对称加密
    第三篇 -- 余生,我累了,也懂了
    第二篇 -- 关东野客书籍
    第十一篇 -- 关于防火墙的一些问题
    第三十一篇 -- 学习第六十八天打卡20190911
    第二十九篇 -- UDP和TCP
  • 原文地址:https://www.cnblogs.com/Mrchengs/p/10813600.html
Copyright © 2011-2022 走看看