1.1标准输入输出流
public static final InputStream in:标准输入流
public static final PrintStream out:标准输出流
OutputStreamWriter:将字节输出流转换为字符输出流
publicclassOutputStreamWriterDemo {
publicstaticvoidmain(String[] args)throwsIOException {
//method2();
//创建输入流对象
BufferedReader br =newBufferedReader(newFileReader("SystemInOutDemo.java"));
//创建输出流对象
//OutputStream os= System.out;
//Writer w = new OutputStreamWriter(System.out);//多态,父类型引用指向子类对象
//BufferedWriter bw= new BufferedWriter(w);
BufferedWriter bw =newBufferedWriter(newOutputStreamWriter(System.out));
//进行数据的读写
String line;//用于存储读取到的数据
while((line = br.readLine()) !=null) {
bw.write(line);
bw.newLine();
}
InputStreamReader:将字节输入流转换为字符输入流
publicclassInputStreamReaderDemo {
publicstaticvoidmain(String[] args)throwsIOException {
//创建输入流对象
InputStream is = System.in;
Reader r =newInputStreamReader(is);
//创建输出流对象
FileWriter fw =newFileWriter("a.txt");
//读写数据
char[] chs =newchar[1024];
intlen;
while((len = r.read(chs)) != -1) {
fw.write(chs,0,len);
fw.flush();
}
1.2打印流
打印流添加输出数据的功能,使它们能够方便地打印各种数据值表示形式.
字符打印流 PrintWriter
void print(String str): 输出任意类型的数据,
void println(String str): 输出任意类型的数据,自动写入换行操作
* PrintStream
* PrintWriter
* 可以自动换行,println()
* 不能输出字节,但是可以输出其他任意类型
* 通过某些配置,可以实现自动刷新(只有在调用println、printf或 format才有用)* 也是包装流,不具备写出功能
* 可以把字节输出流转换成字符输出流*
* 注意:只能输出不能输入
publicclassPrintWriterDemo {
publicstaticvoidmain(String[] args)throwsIOException {
//创建打印流对象
PrintWriter pw =newPrintWriter("b.txt");
//写出数据
pw.write("hello");
pw.write("world");
pw.write("java");
1.3ObjectInputStream称为 反序列化流,利用输入流从文件中读取对象
ObjectOutputStream 称为 序列化流,利用输出流向文件中写入对象
特点:用于操作对象。可以将对象写入到文件中,也可以从文件中读取对象。
}
标准输入输出流OutputStreamWriter:将字节输出流转换为字符输出流InputStreamReader:将字节输入流转换为字符输入流打印流添加输出数据的功能ObjectInputStrea