zoukankan      html  css  js  c++  java
  • 学习打卡3--I/O流(1)

    输出流(Input: 从流读取数据。输入流(Output): 往流中写入数据

    对流增加缓存区可以提高效率。

    flush
    先将输出流写入到缓冲区,当缓冲区写满后才将缓冲区的内容输出到文件中。但是当主机完成输出流的输出后,有可能缓冲区这个时候还没有被填满,这样的话,就会一直等待主机发送内容,这时候,就可以使用flush将缓冲区的内容强制输出到文件中,清空缓冲区。
    注意:由于I/O流主要进行数据交互,所以很容易出现异常,所以必须进行异常处理

    以下是今天敲的代码

    package io;
    import java.util.Scanner;
    import java.io.*;
    public class BufferedReaderstudy {
    	   public static void main(String[] args) {
    		   String S;
    		   System.out.println("请输入想存入的字符串:");
    		   Scanner sc = new Scanner(System.in);
    		   S = sc.next();
    		   try{
    		      FileWriter fw = new FileWriter("c:\hello\zz.txt");
    		      BufferedWriter bufw = new BufferedWriter(fw);
    		      bufw.write(S);
    		      bufw.newLine();
    //		      bufw.close();
    //		      fw.close();
    		      bufw.flush();
    		   /*不是不关闭就不能写入,而是已经在内存缓冲中写入,但并没有写到文档中,
    		    * 所以你看不到 你可以加入调用 flush()方法 刷新该缓冲,那个关闭输出流 和flush()方法一样,
    		    * 都可以刷新缓冲,但close可以节省内存,如果总是调用流,但不关闭,导致内存大量占用,程序崩溃*/
              
    	           FileReader fr = new FileReader("c:\hello\zz.txt");
    	           BufferedReader bufr = new BufferedReader(fr);
    	           String s;
    	           s = bufr.readLine();
    	           System.out.println(s);
    	      /*对BufferedReader类,该类的readLine()方法能一次从流中读入一行,但对于BufferedWriter类, 
    	       * 就没有一次写一行的方法,所以若要向流中一次写一行,可用PrintWriter类将原来的流改造成新的打印流,
    	       * PrintWriter类有一个方法println(),能一次输出一行。*/
             
    		PrintWriter out = new PrintWriter(bufw);
    	      out.println("hello,world");
    	      out.close();
    	      }catch(IOException e) {
    	    	  e.printStackTrace();
    	      }
    	   }
    	 }
    
    package io;
    import java.io.IOException;
    public class Main {
           public static void main(String[] args) {
        	   System.out.println("hello world");
        	   byte[] buffer = new byte[1024];
        	   try {
        		   int len = System.in.read(buffer);
        		   String s = new String(buffer,0,len);
        		   System.out.println("读到了"+len+"字节");
        		   System.out.println(s);
        		   System.out.println("s的长度是"+s.length());
        	   }catch (IOException e) {
                   e.printStackTrace();    		   
        	   }
           }
    }
    
  • 相关阅读:
    Jquery的事件与动画-----下雨的天气好凉爽
    JQuery选择器--------没有它就没有页面效果
    JavaScript对象--------------你又知道那些
    实体类----app-config
    知错就改,善莫大焉!!!
    二分查找模板
    《软件工程》学习资料积累
    《计算机算法设计与分析》的学习资源和好的课程积累
    软件的概念
    递归方程的求解和算法时间复杂度的分析
  • 原文地址:https://www.cnblogs.com/susususu/p/10740841.html
Copyright © 2011-2022 走看看