打印流
-
打印流:
和我们的system.out.println()方法很类似printWriter() 字符打印流
printStream() 字节打印流
- 区别: 一个操作字节 一个操作字符
1.字节流打印流在没写close方法的时候会自动刷新缓存区,将数据写到文件中去
2.字符流打印流在没写close方法的时候是不会将数据写到文件中
3.字符打印流的构造方法的自动刷新布尔值 表示如果调用了println或者printf或者format方法 - 总结:
- 字符打印流要刷新缓冲区:
1.构造器传入true,输出调用println()方法
2.flush方法调用
3.close方法调用 - 字节打印流想要刷新缓冲区:
无论构造器的布尔值是否传入,是否使用都会默认自动刷新把缓冲区的数据写入到文件中去
- 字符打印流要刷新缓冲区:
public class Demo {
public static void main(String[] args) throws IOException {
PrintStream psStream = new PrintStream("qq.txt");
PrintWriter pWriter =new PrintWriter(new FileOutputStream("qq.txt"),true);
//字节打印流
//psStream.print("中华~"); //可以写入
//psStream.close();
//psStream.print("我是数据!"); //可以写入
//字符打印流
//pWriter.write("中华!!"); //不可以写入
pWriter.print("我是数据!"); //不可以写入
pWriter.println(); //加上println()方法就可以写入
}
public static void main2(String[] args) throws IOException {
PrintWriter pw = new PrintWriter("qq.txt");
String name ="小白";
for(int i = 0;i<10;i++){
pw.printf("学号:%d 姓名:%s 分数:%f", i,name,(100+0.0f)/(i+1));
pw.println();//这里使用system.out.println()没有效果
}
pw.close();
}
//相当于System.out.println();
public static void main1(String[] args) throws IOException {
PrintWriter pw = new PrintWriter("qq.txt");
pw.println();
pw.println("爱我中华!!");
pw.println(50);
pw.println(true);
pw.println('a');
pw.close();
}
}