如何实现在文本文件(Java)中编写代码
我正试图找出如何在我已经建立的代码中实现在文本文件中编写的代码(在第三方的大力帮助下,因为我是Java新手) 我希望的方式是将已注册或创建的客户或预订的详细信息保存在文本文件中,如下所示(第一步-1)注册新客户,或2)创建新预订):如何实现在文本文件(Java)中编写代码,java,file,text,Java,File,Text,我正试图找出如何在我已经建立的代码中实现在文本文件中编写的代码(在第三方的大力帮助下,因为我是Java新手) 我希望的方式是将已注册或创建的客户或预订的详细信息保存在文本文件中,如下所示(第一步-1)注册新客户,或2)创建新预订): publicstaticvoidmain(字符串[]args){ //设置并初始化测试数据 List availableFlights=generateTestFlights(); 列出可用的酒店=generateTestHotels(); List availab
publicstaticvoidmain(字符串[]args){
//设置并初始化测试数据
List availableFlights=generateTestFlights();
列出可用的酒店=generateTestHotels();
List availableExcursions=generateTestExcursions();
//创建新的预订列表
List of Reserved Bookings=new ArrayList();
//初始化一名新的销售顾问,该顾问将代表
//顾客
SalesConsultant SalesConsultant=新的SalesConsultant();
//初始化键盘代码
扫描仪=新的扫描仪(System.in);
//执行应用程序时将显示什么
System.out.println(“菜单:”);
System.out.println(“1)注册新客户”);
System.out.println(“2)创建新预订”);
System.out.println(“3)查看可用航班列表”);
System.out.println(“4)查看可用的酒店列表”);
System.out.println(“5)查看可用的游览列表”);
System.out.println(“6)查看预订”);
System.out.println(“请选择(类型代码):”;
//在括号内显示上述内容
字符串选择=scanner.nextLine();
//当“退出”选项未显示时
while(choice.equalsIgnoreCase(“exit”)==false){
//注册客户
if(选择相等信号情况(“1”)){
System.out.println(“注册新客户:”);
//获取新客户的卡ID
System.out.println(“请插入客户身份证号码:”);
String cardID=scanner.nextLine();
//获取新客户的名称
System.out.println(“请插入客户姓名:”);
字符串名称=scanner.nextLine();
//获取新客户的地址
System.out.println(“请插入客户地址:”);
字符串地址=scanner.nextLine();
//注册客户
客户=新客户();
销售顾问。注册客户(客户);
System.out.println(“客户已成功注册!”);
}
此外,我是否需要为此创建一个新类,或者是否可以通过main方法完成
不确定是否需要进一步的代码
请问有人能给我一些建议吗
非常感谢。您需要的是Java中的文件处理。您可以轻松地在web上查找它。
无论如何,
您已经在为I/O使用System.out.println()和scanner.nextLine(),其中 系统是一个Java类。
out是系统类的成员。
println是方法。
这些用于从控制台读取/写入变量。
与从文件读/写类似,您需要使用文件编写器、文件读取器或文件输入流、文件输出流类,具体取决于您所处理的二进制数据或ASCII文本。
以下是一些供您学习的参考资料:
我建议使用
Customer
方法和字段对特定客户进行操作,这将封装所有客户的常见行为。您需要让Customer
类如下所示:
public class Customer {
String cardID;
String name;
String address;
public Customer(String cardID, String name, String address) {
this.cardID = cardID;
this.name = name;
this.address = address;
}
}
然后,您可以在此类中创建一个方法saveToFile
:
public void saveToFile(String fileToWrite) {
List<String> lines = Arrays.asList(cardID, name, address);
Path file = Paths.get(fileToWrite);
try {
Files.write(file, lines);
} catch (IOException ex) {
System.err.println("Error writing to " + file);
}
}
在这里,客户是由上面显示的非默认构造函数创建的(实际上,默认构造函数现在不存在),并用客户的cardID定义的名称保存到当前目录中的文件中(为了区分不同客户对应的文件,您可以随意将命名方案更改为任何您喜欢的名称)
顺便问一下,您真的想将此类应用程序的所有记录保存在文本文件中吗?通常,数据库用于此类目的,因为它更方便、更安全。虽然不是强制性的,但如果您要将这些数据存储和检索到文本文件中,那么我认为,是的,您应该使用另一个class仅用于处理文件的读写操作。此类操作最适合于数据库,因为在需要时检索特定于数据的查询要容易得多。感谢大家的帮助,我将研究你们提供的内容。非常感谢。
public void saveToFile(String fileToWrite) {
List<String> lines = Arrays.asList(cardID, name, address);
Path file = Paths.get(fileToWrite);
try {
Files.write(file, lines);
} catch (IOException ex) {
System.err.println("Error writing to " + file);
}
}
// register customer
Customer customer = new Customer(cardID, name, address);
customer.saveToFile(cardID + ".txt");