转换流(处理流)
- InPutStreamReader
- OuPutStreamWrite
PrintStream打印流(处理流)
BufferedReader bufferedInputStream = new BufferedReader(new InputStreamReader(new FileInputStream("D:/demo.txt")));
BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(new FileOutputStream(b));
PrintStream printStream = new PrintStream(bufferedOutputStream);
String length;
while((length = bufferedInputStream.readLine()) != null){
System.setOut(printStream);
System.out.println(length);
}
bufferedInputStream.close();
bufferedOutputStream.close();
对象流(序列化,反序列化)
反序列化
import java.io.FileInputStream;
import java.io.ObjectInputStream;
public class ObjInput {
public static void main(String[] args) throws Exception {
FileInputStream fileInputStream = new FileInputStream("D:/out.txt");
ObjectInputStream objectInputStream = new ObjectInputStream(fileInputStream);
User_1007 o = (User_1007) objectInputStream.readObject();
System.out.println(o);
}
}
序列化
import java.io.FileOutputStream;
import java.io.ObjectOutputStream;
public class ObjOut {
public static void main(String[] args) throws Exception {
User_1007 xzx = new User_1007(1, "xzx");
FileOutputStream fileOutputStream = new FileOutputStream("D:/out.txt");
ObjectOutputStream objectOutputStream = new ObjectOutputStream(fileOutputStream);
objectOutputStream.writeObject(xzx);
}
}
注意
- 被序列化的类需要实现Serializable接口
-
serialVersionUID是实体类中的一个常量,标志着该类被序列化时的版本id,反序列化时必须和序列化时的版本id相同,否则无法反序列化。
-
不想被序列化的字段加上修饰符transient