/*
* 1.打印流中write(int)方法的功能:
* 1)输出字节数据,如果整数值大于一个字节只输出最后一个字.
* 2)通常是面向计算机的,把原始数据输出。例如: 35是: 0010 0011
* 3)以后输出图片、声音类二进制文件,要用write()方法
*
* 2.打印流中print(int)方法的功能:
* 1)把整数参数转换成字符输出.
* 2)通常是面向用户的,按"我们看到的样子"输出来
* 3)以后输出文本内容,要用print()或println()
*
*/
@Test
public void printStreamDemo() throws IOException{
PrintStream out = new PrintStream("a.txt");
//out.write(97); //a 输出字节数据
//out.write(353);//a
//out.print(97);//97 把整数参数转换成字符输出 例如: 35是: 0011 0101
out.print(353); //353
}
@Test
public void printStreamDemo2() throws IOException{
PrintStream out = System.out;
for(int i=1;i<10;i++){
out.println("i="+i);
}
out.close();//把System.out关掉之后,后面的输出就无效了...
System.out.println("--------------");
for(int i=1;i<10;i++){
System.out.println("i="+i);
}
}
@Test
public void printStreamDemo3() throws IOException{
changeOut();
for(int i=1;i<10;i++){
System.out.println("i="+i);
}
System.out.println("--------------");
}
private void changeOut() {
try {
PrintStream ps = new PrintStream("aa.txt");
System.setOut(ps);//更改系统的System.out流,让所有输出存入文件
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.PrintStream;
import java.io.PrintWriter;
import org.junit.Test;
public class PrintWriterDemo {
/*
* ★字符流要记得刷缓存
*
* PrintWriter的功能和PrintStream基本相同,
* 主要区别是PrintWriter为字符流(带缓存,即有一些跟缓存有关的功能)
*/
@Test
public void printWriterDemo() throws FileNotFoundException{
PrintWriter out = new PrintWriter("pw.txt");
out.write(97);
out.println(97);
out.print("湖南城市学院");
out.flush();// close()中会自动调用一次flush(),但注意流关闭之后是不能再输出内容
}
@Test //演示自动刷缓存
public void printWriterDemo2(){
//注意,即使下面设置了true,还要只有println、printf 或 format方法才会自动刷新
PrintWriter pw = new PrintWriter(System.out,true);
//pw.print("湖南城院");
//pw.flush(); //上面一句不会自动刷新,还是需要手动调用flush()
pw.println("湖南城院");//可以自动刷新
}
}