PrintStream

看下面几个程序
import java.io.*;
public class TestPrintStream1 { 
  public static void main(String[] args) {
    PrintStream ps = null;
    try {
      FileOutputStream fos = 
              new FileOutputStream("d:\\bak\\log.dat");
      ps = new PrintStream(fos);		//相当于PrintStream ps = new PrintStream(new FileOutputStream());
    } catch (IOException e) {
      e.printStackTrace();
    }
    if(ps != null){
      System.setOut(ps);		//输出,以前是System.out是指在命令行输出,而setOut改变输出环境
    }
    int ln = 0;
    for(char c = 0; c <= 60000; c++){
      System.out.print(c+ " ");
      if(ln++ >=100){ System.out.println(); ln = 0;}
    }
  }
}
import java.io.*;
public class TestPrintStream2 {
  public static void main(String[] args) {
    String filename = args[0];		//在命令行中输入文件,存放在filename中
    if(filename!=null){list(filename,System.out);}		//执行list函数,后面定义的
  }
  public static void list(String f,PrintStream fs){
    try {
      BufferedReader br = 
                  new BufferedReader(new FileReader(f));		//f为文件名
      String s = null; 
      while((s=br.readLine())!=null){
        fs.println(s);            
      }
      br.close();
    } catch (IOException e) {
      fs.println("无法读取文件");
    }
  }
}

import java.util.*; 
import java.io.*;
public class TestPrintStream3 {
  public static void main(String[] args) {
    String s = null;
    BufferedReader br = new BufferedReader(
                        new InputStreamReader(System.in));
    try {
      FileWriter fw = new FileWriter
                           ("d:\\logfile.log", true); //创建一个文件,往里面写日志,不被覆盖
      PrintWriter log = new PrintWriter(fw);
      while ((s = br.readLine())!=null) {				//当输入的部位空时
        if(s.equalsIgnoreCase("exit")) break;
        System.out.println(s.toUpperCase());			//转换成大写
        log.println("-----");											//往文件里写-----
        log.println(s.toUpperCase());  						//往文件里写刚才输入的字符的大写
        log.flush();
      }
      log.println("==="+new Date()+"==="); 				//推出以后增加日期
      log.flush();
      log.close();
    } catch (IOException e) {
      e.printStackTrace();
    }
  }
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值