62,614
社区成员
发帖
与我相关
我的任务
分享
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
public class ass{
private static record rd;
ObjectOutputStream output;
ObjectInputStream input;
public ass() {
}
//设置记录的属性值
public void setrecord() {
rd = new record();
rd.setaccount(200);
rd.setname("nihao");
rd.setpayment(20);
rd.setprice(30);
}
//写入文件
public void write(record rd) throws Exception {
output=new ObjectOutputStream(new FileOutputStream("e:\\file.txt"));
output.writeObject(rd);
output.flush();
output.close();
}
//从文件中读取出来
public record read() throws Exception {
input=new ObjectInputStream(new FileInputStream("e:\\file.txt"));
record d = (record) input.readObject();
input.close();
System.out.println(d.getname());
System.out.println(d.getprice());
System.out.println(d.getaccount());
System.out.println(d.getpayment());
return d;
}
public static void main(String[] args) throws Exception {
//流程先要理清:先生成文件,然后再去文件读取出来。
ass d = new ass();
d.setrecord();
d.write(rd);
d.read();
}
}
/**
*
* 对象实体不能是内部类
* @author foolishdault
*
*/
class record implements Serializable {
private static final long serialVersionUID = 3L;//序列化值,写文件或者网络传输都必须设置这个值
private int account;
private String name;
private float price;
private float payment;
public record() {
}
public record(int account, String name, float price, float payment) {
this.account = account;
this.name = name;
this.payment = payment;
this.price = price;
}
public void setaccount(int acc) {
account = acc;
}
public int getaccount() {
return account;
}
public void setname(String na) {
name = na;
}
public String getname() {
return name;
}
public void setprice(float pri) {
price = pri;
}
public float getprice() {
return price;
}
public void setpayment(float pay) {
payment = pay;
}
public float getpayment() {
return payment;
}
}
import java.io.*;
import java.io.Serializable;
public class ass {
private record rd;
ObjectOutputStream output;
ObjectInputStream input;
public ass()
{
try{
rd=new record();
output=new ObjectOutputStream(new FileOutputStream("e:\\file.txt"));
input=new ObjectInputStream(new FileInputStream("e:\\file.txt"));
}
catch(Exception er){
}
}
public void setrecord()
{
rd.setaccount(200);
rd.setname("nihao");
rd.setpayment(20);
rd.setprice(30);
write(rd);////调用write()
}
public void write(record rd)
{
try{
output.writeObject(rd);
output.flush();
output.close();
}
catch(Exception e){
e.printStackTrace();
}
}
public record read()
{
record d=null;
try{
d=(record)input.readObject();
input.close();
}
catch(Exception e){
e.printStackTrace();
}
return d;
}
public static void main(String[] args)
{
ass d=new ass();
d.setrecord();
System.out.println(d.read());
}
}
class record implements Serializable
{
private int account;
private String name;
private float price;
private float payment;
public record(){}
public record(int account,String name,float price,float payment)
{
this.account=account;
this.name=name;
this.payment=payment;
this.price=price;
}
public void setaccount(int acc)
{
account=acc;
}
public int getaccount()
{
return account;
}
public void setname(String na)
{
name=na;
}
public String getname()
{
return name;
}
public void setprice(float pri)
{
price=pri;
}
public float getprice()
{
return price;
}
public void setpayment(float pay)
{
payment=pay;
}
public float getpayment()
{
return payment;
}
}
public void write(record rd)throws Exception
{
output.writeObject(rd);
output.flush(); ///加上这句
output.close();
}