第08章_流_IO_打印流PrintStream

打印流

PrintStream(字节流)

PrintWriter (字符流)



import java.io.*;
public class Test20180526001{
public static void main(String args[]){
try{
PrintStream s1 = null;
FileOutputStream s2 = new FileOutputStream("H:\\Test\\log.DAT");
s1 = new PrintStream(s2);
if (s1 != null) System.setOut(s1);                                     //改变打印目标到 H:\\Test\\log.DAT 文件中
int ln = 0;
for (char c = 0;c <= 60000 ; c++){
System.out.print(c+" ");
if (ln ++ >=100){
System.out.println(" ");
ln = 0 ;
}
}

}
catch (FileNotFoundException e){
System.out.println("报错");
}

}

}

控制台打印文件内容

import java.io.*;
public class Test20180526002{
public static void main(String args[]){
String s1 = args[0];                                          //指定文件路径及文件名

if (s1 != null) list(s1,System.out);                     //如果指定的文件存在 那么调用list方法 并将s1 及syste.out 传入


}


public static void list (String s1,PrintStream s2){
try{

FileReader  s3 = new FileReader (s1);                         //new一个文件流 参数为 s1

BufferedReader  s4 = new BufferedReader   (s3);       //new一个缓冲流 参数为文件流
String s = null;                                                            
while ((s = s4.readLine()) !=null){                          //如果文件流中的文件 数据不为空 
s2.println(s);                                                   //打印数据到控制台
}
s4.close();
}

catch (IOException e){
System.out.println("报错");
}

}
}



日志文件代码

import java.util.Date;                                                   //引入util日期包
import java.io.*;
public class Test20180526003{
public static void main(String args[]){
String s = null;

BufferedReader  br = new BufferedReader  (new InputStreamReader (System.in)); 

                                                                                    //new一个标准系统输入的处理流

try{

PrintWriter fw = new PrintWriter(new FileWriter("H:\\Test\\log.txt",true));

                                                                                    //new一个文件流 并指定文件路径及文件名,并在之前数据的后面写入

while ((s = br.readLine()) != null){              //读取系统输入如果系统输入不为空
if (s.equalsIgnoreCase("exit")) break;    //判断系统输入是否为EXIT 如果是就退出
System.out.println(s.toUpperCase());     // 将系统输入值打印到控制台
fw.println("------");                                //将"------" 打印至文件流指定的文件中
fw.println(s.toUpperCase());                  //将系统输入值打印至文件流指定的文件中
fw.flush();                                              //刷新
}
fw.println("==="+new Date()+"====");     //退出循环后将util中的当前系统日期 打印至文件流指定的文件中
fw.flush();                                                    //刷新文件流
fw.close();                                                   //关闭文件流
}
catch (IOException e){
System.out.println("出错");
}
}
}

猜你喜欢

转载自blog.csdn.net/e2603199/article/details/80463625