我正在创建一个程序,允许用户输入客户的详细信息。当他们保存每个客户记录时,可以选择添加其他信息。我在附加类中获取保存文件的名称时遇到问题。我需要文件名,以便我可以将其他信息保存到已为客户创建的同一文件中。如何将文件名从一个文件传递到另一个文件。
File FName = fileChooser.getSelectedFile();
String name = FName.getName();
public String getname() { return name; }
此代码在我的客户类中如何在我的附加类中获取此信息?
答案 0 :(得分:1)
可能是这样的:
Customer customer = new Customer();
// do some stuff with your customer object, including initiating the File and saving its name to a String field called name
Append append = new Append();
append.foo(customer.getName()); // passes the name of the file to the foo method of class Append
这假设您只需要该方法中的文件名(尽管您可以将其作为方法foo()
的一部分保存到字段中)。您需要在Append类中实现方法foo(String name)
。
另一种选择是将其作为Append:
的构造函数传递Append append = new Append(customer.getName());
append.foo();
为此,您需要在Append类中实现构造函数Append(String name)
。
答案 1 :(得分:0)
有几种方法可以做到这一点,具体取决于你想要做什么。
答案 2 :(得分:0)
我的问题并不完全清楚,但根据您的说明,您可能会遇到一些问题:
我真的不明白为什么你需要一个Append课程。就个人而言,我会在Customer类中附加附加信息。我这样做是为了每次添加或更改值时,信息都会保存回文件中,如:
class Customer {
public void setForename(String forename) {
this.forename = forename;
save();
}
public void setSurname(String surname) {
this.surname = surname;
save();
}
public void save() {
// clear file
// add new content
String fileContents = "forename="+forname+"&surname="+surname;
// save to file
}
也许我不能正确理解你的需求......
答案 3 :(得分:0)
除了DeadPassive将附加信息与Customer对象相关联的答案:
保存客户数据不属于客户类。持久化数据的逻辑属于单独的层,而不是处理操作问题域的代码。控制器或服务类似乎是放置持久性逻辑的更合适的位置。