zoukankan      html  css  js  c++  java
  • Java中I/O流之Print流

    Java 中的 print 流:

      print 流用于做输出将会非常的方便,并且具有以下特点:

      1. printWriter、printStream 都属于输出流,分别针对字符,字节.

      2. printWriter、printStream 提供了重载的 print 与 println 方法.

      3.  print 与 println 能够用于多种数据类型的输出.

      4.  printWriter、printStream 的输出操作不会抛出异常,用户通过检测错误状态获取错误信息.

      5. printWriter、printStream 都有自动 flush() 的功能.

      6. print 流具有以下常用方法:

        printWriter(Writer out)

        printWriter(Writer out, boolean autoFlush)

        printWriter(outputStream out)

              printWriter(outputStream out,  boolean autoFlush)

        printStream(outputStream out)

        printStream(outputStream out,  boolean autoFlush)

    Demo_1:

    import java.io.*;
    class Test {
    	public static void main(String[] args) {
    		try {
    			FileOutputStream fos = new FileOutputStream("E:/eclipse projiect/TEST0503.txt");
    			PrintStream ps = new PrintStream(fos);
    			if(ps!=null){
    				System.setOut(ps); // System.out 默认的是在命令行中输出
    			}                      // System.setOut 重新设置out的值
    			int ln = 0;            // System.out 就是 printStream 类型
    			for(char c=0;c<=6000;c++){
    				System.out.println(c+" ");
    				ln++;
    				if(ln>=100){
    					System.out.println();
    				}
    				ln = 0;
    			}
    		} catch (FileNotFoundException e) {
    			e.printStackTrace();
    		}
    	}
    }
    

     配图:

    Demo_2:

    import java.io.*;
    class Test {
    	public static void list(String fileName, PrintStream ps) {
    		try {
    			FileReader fr = new FileReader(fileName);
    			BufferedReader br = new BufferedReader(fr);
    			String s = null;
    			while((s=br.readLine())!=null){
    				ps.print(s);
    				System.out.println();
    			}
    			br.close();
    		} catch (FileNotFoundException e) {
    			e.printStackTrace();
    		} catch (IOException e){
    			ps.println("无法读取文件");
    		} 
    	}
    	public static void main(String[] args) {
    		String fileN = "E:/eclipse projiect/TEST.txt";
    		if(fileN != null) {
    			list(fileN, System.out);
    		}
    	}
    }
    

     运行结果:

    ni hao: 中国0123
    江城如画里,
    山晚望晴空。
    两水夹明镜,
    双桥落彩虹。
    人烟寒橘柚,
    秋色老梧桐。
    谁念北楼上,
    临风怀谢公。

    Demo_3:

    import java.io.*;
    import java.util.Date;
    class Test {
    	public static void main(String[] args) {
    		InputStreamReader isr = new InputStreamReader(System.in);
    		BufferedReader br = new BufferedReader(isr);
    		try {
    			FileWriter fw = new FileWriter("E:/eclipse projiect/TEST0504.txt", true);
    			PrintWriter log = new PrintWriter(fw);
    			String s = null;
    			while((s=br.readLine())!=null){
    				if(s.equalsIgnoreCase("exit")){
    					break;
    				}
    				System.out.println(s.toUpperCase());
    				log.println("-----");
    				log.println(s.toUpperCase());
    				log.println("&&&&&"+ new Date()+"&&&&&");
    				log.flush(); // log 自带flush功能,但是写了比较好
    			}
    			log.println("&&&&&"+ new Date()+"&&&&&");
    			log.flush();
    			log.close();
    		} catch (IOException e) {
    			e.printStackTrace();
    		}
    	}
    }
    

     运行结果:

    Eclipse 中的 console 中的内容如下:

    wo men zhou mo qu na wan?
    WO MEN ZHOU MO QU NA WAN?
    qu chong qing ba ?
    QU CHONG QING BA ?
    hao ya
    HAO YA

    TEST0504.txt 文件中的内容如下:

    -----
    WO MEN ZHOU MO QU NA WAN?
    &&&&&Wed May 03 15:18:30 CST 2017&&&&&
    -----
    QU CHONG QING BA ?
    &&&&&Wed May 03 15:18:38 CST 2017&&&&&
    -----
    HAO YA
    &&&&&Wed May 03 15:18:40 CST 2017&&&&&

  • 相关阅读:
    06C++11线程池
    05C++11生产者消费者模式2
    04C++11生产者消费者模式
    03智能指针之shared_ptr
    洛谷P1262+Tarjan缩点
    洛谷P1147 连续自然数和
    洛谷P1970 花匠
    接下来的一些操作
    树状数组 代码(洛谷为例)
    洛谷P1576 最小花费
  • 原文地址:https://www.cnblogs.com/bosongokay/p/6801297.html
Copyright © 2011-2022 走看看