打印流-PrintStream和PrintWriter
Posted 北方丶有佳人
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了打印流-PrintStream和PrintWriter相关的知识,希望对你有一定的参考价值。
IO包中的其他功能流对象
功能流对象
特点:解决问题的特有方法。
打印流--必须是输出流(两个都是)
PrintStream(字节流) PrintWriter(字符流)
特点:打印。不抛异常
打印的目的:File对象,字符串路径,字节输出流。
解决的问题:方便的打印各种数据的表示形式。
它的打印方法可以保证数值的表现形式不变。写的是什么样子,目的地就是什么样子
PrintWriter:一样具备打印功能。
目的:File对象,字符串路径,字节输出流,字符输出流。
PrintStream实例:
import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; import java.io.PrintStream; public class PrintStreamDemo { public static void main(String[] args) throws IOException { // System.out.println("hello"); // PrintStream ps = System.out; // ps.println("hello"); File dir = new File("tempfile"); if(!dir.exists()){ dir.mkdir(); } //演示PrintStream的特有方法。 //1.创建PrintStream对象,目的就定位文件 PrintStream out = new PrintStream("tempfile\\print.txt"); // out.write(353);//字节流的write方法一次只写出一个字节,也就是将一个整数的最低八位写出 // out.write("353".getBytes()); 麻烦 out.print(353);//保证数值的表现形式。原理:write(String.valueOf(i));将数值转成字符串。 out.close(); } }
PrintWriter实例:
import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; public class PrintWriterDemo { public static void main(String[] args) throws IOException { /* * 演示一个小例子 * 读取键盘录入,将数据转成大写显示在屏幕上。 */ //1.键盘录入 BufferedReader bufr = new BufferedReader(new InputStreamReader(System.in)); //2.定义目的 //BufferedWriter bufw = new BufferedWriter(new PrintStream(System.out)); PrintWriter pw = new PrintWriter(System.out,true);//对println,printf,format方法自动刷新 //字符流内部都有缓冲区 //改变目的为文件,还想自动刷新。 pw = new PrintWriter(new BufferedWriter(new FileWriter("tempfile\\1.txt")),true); //3.读一行,写一行,键盘录入一定要定义结束标记 String line = null; while((line=bufr.readLine())!=null){//readline是一个阻塞式方法 if("over".equals(line)) break; pw.println(line.toUpperCase()); // pw.flush();//因为数据被临时缓存了 } pw.close();//系统流关不关都可以 bufr.close();//不需要关闭键盘录入这种标准输入流,一旦关闭,后面获取不到。 } }
以上是关于打印流-PrintStream和PrintWriter的主要内容,如果未能解决你的问题,请参考以下文章