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&&&&&