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

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

     解决方法:

  • 相关阅读:
    linux find命令
    busybox的使用
    sql server的数据库个数、表个数及表的数据量统计
    SQL Server查看所有表大小,所占空间
    oracle数据库审计
    oracle --审计
    oracle 增量导出/导入
    MySQL下做Master/Slave同步,延迟太大怎么办?
    【MongoDB】2、安装MongoDB 2.6.1 on Unbuntu 14.04(学习流水账)
    mongodb shell之使用js(二)
  • 原文地址:https://www.cnblogs.com/Mrchengs/p/10813600.html
Copyright © 2011-2022 走看看