使用Java将数据保存到文件中

时间:2016-04-05 09:20:42

标签: java android

我正在使用一个类似于联系人应用程序的应用程序。我希望将人员的数据存储在一个文件中。我对数据库的经验很少。我没有文件经验。所以我想使用文件。我有一个班级

class Person
{
   String name;
   String mobile_number;
   String city;
}

现在,当用户输入我希望将数据存储在文件中的数据时。检索我想要根据名称或手机或城市检索数据。我可能有5个人的列表,我想要检索具有特定名称的人的数据。所以我想知道从文件中保存和检索数据的最佳实践。                                                                       - 谢谢你

2 个答案:

答案 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();
        }