我正在使用一个类似于联系人应用程序的应用程序。我希望将人员的数据存储在一个文件中。我对数据库的经验很少。我没有文件经验。所以我想使用文件。我有一个班级
class Person
{
String name;
String mobile_number;
String city;
}
现在,当用户输入我希望将数据存储在文件中的数据时。检索我想要根据名称或手机或城市检索数据。我可能有5个人的列表,我想要检索具有特定名称的人的数据。所以我想知道从文件中保存和检索数据的最佳实践。 - 谢谢你
答案 0 :(得分:1)
以下是一个例子:
public class Person implements Serializable {
private static final long serialVersionUID = -3206878715983958638L;
String name;
String mobile_number;
String city;
public static void main(String[] args) throws IOException, ClassNotFoundException {
Person p = new Person();
p.name = "foo";
// Write
try (ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("data.dat"))){
oos.writeObject(p);
}
// Read
try (ObjectInputStream ois = new ObjectInputStream(new FileInputStream("data.dat"))) {
Person person = (Person) ois.readObject();
System.out.println(person.name);
}
}
}
答案 1 :(得分:0)
以下是将检索到的数据存储到文件中的示例代码。
try {
// Assuming the Contact bean list are taken from database and stored in list
List<ContactBean> beanList = database.getContactList();
File file = new File(".../filpath/filename.txt");
if (!file.exists()) {
file.createNewFile();
}
FileWriter fw = new FileWriter(file.getAbsoluteFile());
BufferedWriter bw = new BufferedWriter(fw);
for (ContactBean contactbean : beanList) {
bw.write("name : " + contactbean.getName() + " , ");
bw.write("mobile Number : " + contactbean.getMobileNo() + " , ");
bw.write("city : " + contactbean.getCity() + " , ");
bw.write("/n");
}
bw.close();
} catch (Exception e) {
e.printStrace();
}