JAVA 打印流与转换流
2015-03-18 01:58
134 查看
转换流主要有两个InputStreamReader和OutputStreamWriter
1.InputStreamReader主要是将字节流输入流转换成字符输入流
2.OutputStreamWriter主要是将字节流输出流转换成字符输出流
打印流主要包含两个:PrintStream和PrintWriter,分别对应字节流和字符流
完成屏幕打印的重定向
System.out对应的就是PrintStream,默认在输出在控制台,我们可以重定向他的输出,可以定向到文件
也就是执行System.out.println("arry");不输出到屏幕,而输出到文件
对象流可以将Java对象转换成二进制写入磁盘,这个过程通常叫做序列化,并且还可
以从磁盘读出完整的Java对象,而这个过程叫做反序列化。
对象流主要包括:ObjectInputStream和ObjectOutputStream
如何实现序列化和反序列化
如果实现序列化该类必须实现序列化接口java.io.Serializable,该接口没有任何方法,该接口
只是一种标记接口,标记这个类是可以序列化的
1.InputStreamReader主要是将字节流输入流转换成字符输入流
2.OutputStreamWriter主要是将字节流输出流转换成字符输出流
打印流主要包含两个:PrintStream和PrintWriter,分别对应字节流和字符流
完成屏幕打印的重定向
System.out对应的就是PrintStream,默认在输出在控制台,我们可以重定向他的输出,可以定向到文件
也就是执行System.out.println("arry");不输出到屏幕,而输出到文件
/* System.in可以接收屏幕的输入 */ importjava.io.*; publicclassPrintStreamTest02{ publicstaticvoidmain(String[]args){ BufferedReaderbr=null; try{ InputStreamReaderisr=newInputStreamReader(System.in); br=newBufferedReader(isr); Stringtemp=null; while((temp=br.readLine())!=null){ System.out.println(temp); //如果输出w退出循环 if("w".equals(temp)){ break; } } }catch(FileNotFoundExceptione){ e.printStackTrace(); }catch(IOExceptione){ e.printStackTrace(); }finally{ try{ if(br!=null){ br.close(); } }catch(IOExceptione){ e.printStackTrace(); } } } }
/* 完成屏幕打印的重定向 System.out对应的就是PrintStream,默认在输出在控制台,我们可以重定向他的输出, 可以定向到文件就是执行System.out.println("hehhe");不输出到屏幕,而输出到文件 */ importjava.io.*; publicclassPrintStreamTest01{ publicstaticvoidmain(String[]args){ FileOutputStreamfos=null; try{ fos=newFileOutputStream("C:\\work\\Java\\arry.txt"); PrintStreamps=newPrintStream(fos); System.setOut(ps); System.out.println("hehehe"); }catch(FileNotFoundExceptione){ e.printStackTrace(); }catch(IOExceptione){ e.printStackTrace(); }finally{ try{ if(fos!=null){ fos.close(); } }catch(IOExceptione){ e.printStackTrace(); } } } }
对象流可以将Java对象转换成二进制写入磁盘,这个过程通常叫做序列化,并且还可
以从磁盘读出完整的Java对象,而这个过程叫做反序列化。
对象流主要包括:ObjectInputStream和ObjectOutputStream
如何实现序列化和反序列化
/*
OutputStreamWriter主要是将字节流输出流转换成字符输出流
*/
importjava.io.*;
publicclassOutputStreamWriterTest01{
publicstaticvoidmain(String[]args){
BufferedWriterbw=null;
try{
//字节输出流
//FileOutputStreamfos=newFileOutputStream("C:\\work\\Java\\arry.txt");
//字符输出流
//OutputStreamWriterosw=newOutputStreamWriter(fos);
bw=newBufferedWriter(newOutputStreamWriter(newFileOutputStream("C:\\work\\Java\\arry.txt")));
bw.write("keke老师新婚快乐!");
bw.newLine();
bw.write("祝福师傅和师娘新婚快乐,百年好合,白头偕老,早生贵子!!!!!");
bw.flush();
}catch(FileNotFoundExceptione){
e.printStackTrace();
}catch(IOExceptione){
e.printStackTrace();
}finally{
try{
if(bw!=null){
bw.close();
}
}catch(IOExceptione){
e.printStackTrace();
}
}
}
}
/*
对象流:
对象流可以将java对象转换成二进制写入磁盘,这个过程叫做“序列化”
还可以从磁盘读取完整的Java对象,这个过程叫“反序列化”
包括:ObjectInputStream和ObjectOutputStream
java.io.Serializable
*/
importjava.io.*;
publicclassObjectStreamTest02{
publicstaticvoidmain(String[]ags){
ObjectInputStreamois=null;
try{
FileInputStreamfis=newFileInputStream("C:\\work\\Java\\arry.txt");
ois=newObjectInputStream(fis);
//反序列化
Studentstu=(Student)ois.readObject();
System.out.println(stu.name);
}catch(FileNotFoundExceptione){
e.printStackTrace();
}catch(IOExceptione){
e.printStackTrace();
}catch(ClassNotFoundExceptione){
e.printStackTrace();
}finally{
try{
if(ois!=null){
ois.close();
}
}catch(IOExceptione){
e.printStackTrace();
}
}
}
}
//实现序列化接口
classStudentimplementsSerializable{
Stringname;
}
如果实现序列化该类必须实现序列化接口java.io.Serializable,该接口没有任何方法,该接口
只是一种标记接口,标记这个类是可以序列化的
相关文章推荐
- 【幻化万千戏红尘】qianfengDay19-java基础学习:转换流、对象流、打印流、三大标准(重定向)
- 黑马程序员——JAVA基础——IO(一)---流概述,节点流、处理流、转换流与标准输入输出流、打印流、File文件对象、合并流
- JSON数据与Java对象相互转换
- Java中数组和List集合如何互相转换。
- java_day02_二进制和十进制之间的转换
- java将一个图片转换为字符串格式
- json对象、json格式字符串、java对象【使用此net.sf.json.JSONObject将java对象[比如数组集合Map、Map扩展]转换成json格式字符串】
- Java 学习笔记12:Java Json对象转换
- Java中String转换为int
- java 字符集转换
- java中byte转换int时为何与0xff进行与运算
- java常用数据类型转换
- Java语言基础{Java_se(02)}-字面量和常量-变量的基本定义和使用-Java表达式-数据类型和分类-基本数据类型的转换-算数运算符-赋值运算符-比较运算符-三元运算符-逻辑运算符
- AXIS2中OMElement和Java对象之间的转换
- Cause: java.sql.SQLException: 无法转换为内部表示(Mybatis)
- 树和森林的相互转换的Java实现
- java 数据类型转换
- java如何把一个科学记数法格式的数转换成一个正常的数?比如12的9次方5.159780352E9 转换成一个正常数。
- [转]java中byte转换int时为何与0xff进行与运算
- java list转换为树形