java文件操作问题
新产生的账户应序列化到名为accounts.dat的文件中。所有账户只能通过这种方式产生。所有用户操作结果应同步到accounts.dat文件中相应账户中。我是小白操作结...
新产生的账户应序列化到名为accounts.dat的文件中。
所有账户只能通过这种方式产生。
所有用户操作结果应同步到accounts.dat文件中相应账户中。
我是小白 操作结果同步到文件中的相应账户 ?
public class ATMMachine2 {
public static void main(String[] args) throws IOException,
ClassNotFoundException {
HashSet<Integer> set = new HashSet<Integer>();
Scanner input = new Scanner(System.in);
Account2 account2 = null;
int choice;
File accountsMessage = new File("accounts.dat");
ObjectOutputStream oout = new ObjectOutputStream(new FileOutputStream(
accountsMessage));
ObjectInputStream oin = new ObjectInputStream(new FileInputStream(
accountsMessage));
Object account;
Account2 a ;
while (true) {
System.out.println("\nMain menu :");
System.out.println("0: create a account ");
System.out.println("1: check balance");
System.out.println("2: withdraw");
System.out.println("3: deposit");
System.out.println("4: details of the transaction ");
System.out.println("5: change password ");
System.out.println("6: exit");
System.out.println("Enter a choice : ");
choice = input.nextInt();
if (choice == 6)
break;
switch (choice) {
case 0:
account2 = new Account2(0, set);
//oout.writeObject(account2);
break;
case 1:
//a = (Account2)oin.readObject();
System.out.println("The balance is " +account2.getBalance());
System.out.println(account2.getId());
break;
case 2:
System.out.println("Enter an amount to withdraw : ");
//a = (Account2)oin.readObject();
account2.withDraw(input.nextDouble());//oout.writeObject(account2);
// oout.writeObject(a);
break;
case 3:
System.out.println("Enter an amount to deposit : ");
account2.deposit(input.nextDouble());
break;
case 4:
System.out.println(account2.transactions);
break;
case 5:
account2.changePassword();
break;
default:
System.out.println("Enter choice wrong !");
break;
}
oout.writeObject(account2);
System.out.println(account2.getBalance());
}
oout.writeObject(null);
oout.close();
while ((account = oin.readObject()) != null) {
a = (Account2) account;
System.out.println(a);
}
oin.close();
}
} 展开
所有账户只能通过这种方式产生。
所有用户操作结果应同步到accounts.dat文件中相应账户中。
我是小白 操作结果同步到文件中的相应账户 ?
public class ATMMachine2 {
public static void main(String[] args) throws IOException,
ClassNotFoundException {
HashSet<Integer> set = new HashSet<Integer>();
Scanner input = new Scanner(System.in);
Account2 account2 = null;
int choice;
File accountsMessage = new File("accounts.dat");
ObjectOutputStream oout = new ObjectOutputStream(new FileOutputStream(
accountsMessage));
ObjectInputStream oin = new ObjectInputStream(new FileInputStream(
accountsMessage));
Object account;
Account2 a ;
while (true) {
System.out.println("\nMain menu :");
System.out.println("0: create a account ");
System.out.println("1: check balance");
System.out.println("2: withdraw");
System.out.println("3: deposit");
System.out.println("4: details of the transaction ");
System.out.println("5: change password ");
System.out.println("6: exit");
System.out.println("Enter a choice : ");
choice = input.nextInt();
if (choice == 6)
break;
switch (choice) {
case 0:
account2 = new Account2(0, set);
//oout.writeObject(account2);
break;
case 1:
//a = (Account2)oin.readObject();
System.out.println("The balance is " +account2.getBalance());
System.out.println(account2.getId());
break;
case 2:
System.out.println("Enter an amount to withdraw : ");
//a = (Account2)oin.readObject();
account2.withDraw(input.nextDouble());//oout.writeObject(account2);
// oout.writeObject(a);
break;
case 3:
System.out.println("Enter an amount to deposit : ");
account2.deposit(input.nextDouble());
break;
case 4:
System.out.println(account2.transactions);
break;
case 5:
account2.changePassword();
break;
default:
System.out.println("Enter choice wrong !");
break;
}
oout.writeObject(account2);
System.out.println(account2.getBalance());
}
oout.writeObject(null);
oout.close();
while ((account = oin.readObject()) != null) {
a = (Account2) account;
System.out.println(a);
}
oin.close();
}
} 展开
- 你的回答被采纳后将获得:
- 系统奖励15(财富值+成长值)+难题奖励10(财富值+成长值)+提问者悬赏5(财富值+成长值)
3个回答
展开全部
首先我问你一下,Java读文件为什么不需要抛异常呢?
new FileReader("E:/javadaima/java2-1/src/L7_1.java");这条语句抛的异常是filenotfoundException,也就是文件未找到异常,Java之所以让你处理这个异常就是防止程序在运行时找不到这个文件。你在main方法后面写throw Exception当然就可以了,因为Exception是所有异常的父类,也就是说Exception包括了filenotFound异常。
建议使用try catch语句对异常进行处理。
new FileReader("E:/javadaima/java2-1/src/L7_1.java");这条语句抛的异常是filenotfoundException,也就是文件未找到异常,Java之所以让你处理这个异常就是防止程序在运行时找不到这个文件。你在main方法后面写throw Exception当然就可以了,因为Exception是所有异常的父类,也就是说Exception包括了filenotFound异常。
建议使用try catch语句对异常进行处理。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
序列化成 Map<用户名,用户信息对象> 的结构即可
追问
我试试吧 不懂的话再问您
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2015-05-13
展开全部
代码不全,Account2没有。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询