zoukankan      html  css  js  c++  java
  • java基础io流!

    1.何为IO流:

       java中用来处理设备之间的数据传输.JAVA中对数据的操作是通过流的方式.

       JAVA中用于操作流的对象都在IO包中。

    2.流的分类:

       1) 按数据分为两种:字节流的字符流。

       2) 按流向分: 输入流和输出流。

    3.流的关闭:

       在流不需要使用的时候一定记得要去关闭。这样可以避免资源的消耗,也提高效率。

       但是在执行close()方法的时候,系统会自己调用flush()方法,将数据刷入到文件中。

       还有一点就是如果存在多个流对象,那么需要将流按逆序关闭。不能按顺序关闭,否则会报错。

    4. FileWriter和FileReader:

        用来处理文件的写入和读取.   

    	FileWriter fileWriter = new FileWriter("D:\\demo1.txt");


      当文件不存在时,会去自动创建。但是如果文件存在则会覆盖原来文件。

       若是要在原来的基础上去写入文件。则在后面加一个参数。

    	fw = new FileWriter("D:\\demo.txt", true);


       这样即可现实文件的续写。关于文件的读取一样:

    	fileReader = new FileReader("D:\\demo.txt");

       一般情况下会以字符数组的方式去读取数据.

    	char[] data = new char[1024];
    	int num = 0;
    	while((num = fileReader.read(data)) != -1){
    		/**
    		 * 只读取含有字符的长度.
    		 * **/
    		System.out.print(new String(data,0,num));	
    	}


     

        这里要注意在windows下要写入个换行符,要写为witer("\r\n");

    5.bufferedWiter和buufferedReader:

       缓冲区的出现就是为了提高流的操作效率才出现的。

       所以在创建缓冲区之前,必须要有流的对象。

       当然缓冲区还提高了一个跨平台的换行符. newLine();

       不在需要用流对象的时候那样witer("\r\n");直接使用换行符就好!

      

      bufferedReader可以选择去读一行,当返回结果为null 时表示文件结束,但是要注意的是readLine()只返回回车符之前的数据,并不返回回车符。

      同时也可以去用字符数组的方式去读取数据.

    		/**
    		 * 用缓冲区中的方法读一行
    		 * 
    		 * **/
    			
    		fw = new FileReader("d:\\demo2.txt");
    		br = new BufferedReader(fw);
    		String line = null;
    		
    		while((line = br.readLine()) != null){
    			System.out.println(line);
    		}
    			
    		/**
    		 * 以字符数组方式去读取
    		 * **/
    		/**
    		 fw = new FileReader("d:\\demo.txt");
    		 br = new BufferedReader(fw);
    			
    		char[] data = new char[1024];
    		int ch = 0;
    		long startTime= new Date().getTime();
    		while((ch = br.read(data)) != -1){
    		System.out.println(ch +" "+new String(data));
    		}
    		long emdTime= new Date().getTime();
    		System.out.println("time:" +(emdTime - startTime));
    		*/


     

    6.BufferedReader中的readLine()方法的原理:

  • 相关阅读:
    科学计算器
    ASCII码表
    面试题(2)
    面试题(1)
    ACM/ICPC竞赛
    ACM/ICPC竞赛
    ACM-ICPC竞赛模板
    杭电题目分类(1)
    ACM/ICPC竞赛
    ACM/ICPC竞赛
  • 原文地址:https://www.cnblogs.com/yangzhi/p/3576612.html
Copyright © 2011-2022 走看看