一,PrintStream
java.io.PrintStream:打印流,为其他输出流添加了功能,使他们能够方便地打印各种数据值表示形式。
特点:
1,只负责数据的输出,不负责数据的读取。
2,与其他流不同,PrintStream永远不会抛出IOException。
3,有特有的方法:print/println
void print(任意类型的值);
void printlnI(任意类型的值并换行)
构造方法:
1,PrintStream(File file):输出目的地是一个文件。
2,PrintStream(String filename):输出目的地是一个文件路径。
3,PrintStream(OutputStream out):输出目的地是一个输出流。
PrintStream extends OutputStream.
公共成员方法:
1,void write(int b)
2,void write(byte[] b)
3,void write(byte[] b,int off,int len)
4,void close()
5,void flush()
注意:
1,如果使用继承父类的write方法写数据,那么查看数据的时候会查询编码表。如97->a。
2,如果使用特有方法print/println写数据,写的数据原样输出。如97->97。
import java.io.FileNotFoundException;
import java.io.PrintStream;
public class DemoPrintStream {
public static void main(String[] args) throws FileNotFoundException {
PrintStream ps = new PrintStream("src\\Month_05\\day5_21\\print.txt");
ps.write(97);//a
ps.println(97);//97
ps.println(2.88);//2.88
ps.println('b');//b
ps.println("你好");//"你好"
ps.close();
}
}
输出语句默认在控制台输出,可改变输出语句的目的地(打印流的流向)。
使用System.setOut(PrintStream out)重新分配标准输出流。
import java.io.FileNotFoundException;
import java.io.PrintStream;
public class DemoChangeSout {
public static void main(String[] args) throws FileNotFoundException {
System.out.println("在控制台输出...");
PrintStream ps = new PrintStream("src\\Month_05\\day5_21\\print.txt");
System.setOut(ps);
System.out.println("在自定义流中输出...");
ps.close();
//在控制台输出...
}
}