您的位置:首页 > 编程语言 > Java开发

java读写二进制流

2017-05-06 00:00 387 查看
写入

public static void main(String[] args) throws FileNotFoundException, IOException {
ObjectOutputStream oos=null;
try{
//创建ObjectOutputStream输出流
oos=new ObjectOutputStream(new FileOutputStream("d:\\test\\student.txt"));
Student stu=new Student("小明",22,"男","123456");
//对象序列化,写入输出流
oos.writeObject(stu);

}catch(IOException ex){
ex.printStackTrace();
}finally{
if(oos!=null){
oos.close();
}
}
}

读出

public static void main(String[] args) throws IOException, ClassNotFoundException {
ObjectInputStream ois=null;
try{
//创建ObjectOutputStream输出流
ois=new ObjectInputStream(new FileInputStream("d:\\test\\student.txt"));
//反序列化,强转类型
Student stu=(Student)ois.readObject();
//输出生成后对象信息
System.out.println("姓名为:"+stu.getName());
System.out.println("年龄为:"+stu.getAge());
System.out.println("性别为:"+stu.getGender());
System.out.println("密码为:"+stu.getpassword());
}catch(IOException ex){
ex.printStackTrace();
}finally{
if(ois!=null){
ois.close();
}
}
}

实体类

public class Student implements java.io.Serializable {
private String name;
private int age;
private String gender;

//transient使password不能序列化,所以不能从输入流中读出,该属性在控制台输出是null

private transient String password;
public Student(String name, int age,String gender,String password){
System.out.println("带参数的构造方法");
this.name=name;
this.age=age;
this.gender=gender;
this.password=password;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public String getpassword() {
return password;
}
public void setpassword(String password) {
this.password = password;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  二进制流 java