1.字节打印流
打印流分类:
- 字节打印流:PrintStream
- 字符打印流:PrintWriter
打印流特点:
- 只负责输出数据,不负责读取数据
- 永远不会抛出IOException
- 有自己的特有方法
字节打印流:
- PrintStream(String fileName):使用指定的文件名创建新的打印流
- 使用继承父类的方法写数据,查看的时候会转码;使用自己的特有方法写数据,查看的数据原样输出
- 可以改变输出语句的目的地
public static void setOut(PrintStream out):重新分配“标准”输出流
示例代码:
public void demo1(){
//PrintStream(String fileName):使用指定的文件名创建新的打印流
try(PrintStream ps = new PrintStream("D:\\project\\study_project\\javase\\src\\test\\java\\com\\zhangzemin\\io\\specific_stream\\ps.txt");){
//写数据
//字节输出流有的方法
//ps.write(97);
//使用特有方法写数据
ps.print(97);
ps.print(98);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
2.字符打印流
字符打印流构造房方法
方法名 | 说明 |
---|---|
PrintWriter(String fileName) | 使用指定的文件名创建一个新的PrintWriter,而不需要自动执行刷新 |
PrintWriter(Writer out, boolean autoFlush) | 创建一个新的PrintWriter out:字符输出流 autoFlush: 一个布尔值,如果 为真,则println , printf ,或format方法将刷新输出缓冲区 |
示例代码:
public void demo2(){
//PrintWriter(String fileName) :使用指定的文件名创建一个新的PrintWriter,而 不需要自动执行行刷新
try(PrintWriter pw = new PrintWriter("D:\\project\\study_project\\javase\\src\\test\\java\\com\\zhangzemin\\io\\specific_stream\\pw.txt");
//PrintWriter(Writer out, boolean autoFlush):创建一个新的PrintWriter
PrintWriter pw1 = new PrintWriter(new FileWriter("D:\\project\\study_project\\javase\\src\\test\\java\\com\\zhangzemin\\io\\specific_stream\\pw1.txt"),true)){
/*pw.write("hello");
pw.write("\r\n");
pw.flush();
pw.write("world");*/
pw1.println("hello");
pw1.println("world");
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}