Java写作者打印unicode(?)到文件,而不是String [关闭]。

问题描述 投票:1回答:1

我试图编写我的第一个程序,将数据保存到一个文件中,在这种情况下,一个人的名字,dob和id.调用 "exit "方法,一个作家应该将创建的人的数组写到一个.txt中,但我得到的是。逶迤而过,我得到了这样的结果: 逶迤而过,我得到了这样的结果: 逶迤而过,我得到了这样的结果: 逶迤而过,我得到了这样的结果: 逶迤而过,我得到了这样的结果: 逶迤而过,我得到了这样的结果: 逶迤而过,我得到了这样的结果: 逶迤而过,我得到了这样的结果: 逶迤而过,我得到了这样的结果: 逶迤而过,我得到了这样的结果: 逶迤而过,我得到了这样的结果: 逶迤而过,我得到了这样的结果: 逶迤而过,我得到了这样的结果: 逶迤而过,我得到了这样的结果: 逶迤而过,我得到了这样的结果: 逶迤而过,我得到了这样的结果: 逶迤而过,我得到了这样的结果: 逶迤而过,我得到了这样的结果: 逶迤而过。

我缺少什么?有没有更好的方法安全到文件?

创建流。

 static FileWriter writer;
static {
    try {
        writer = new FileWriter(filePath);
    } catch (IOException e) {
        e.printStackTrace();
    }
}

创建 "人 "的方法

public static void createPerson() { 



    Scanner scan = new Scanner(System.in);



    // Namen erfassen:
    System.out.println("Bitte den Vornamen der Person eingeben:");
    String firstName = scan.nextLine();
    System.out.println("Bitte den Nachnamen der Person eingeben:");
    String lastName = scan.nextLine();
    String fullName = firstName + " " + lastName;

    // DOB erfassen:
    System.out.println("Bitte Geburtsdatum von " + fullName + " eingeben (TT.MM.JJJJ):");
    String dob = scan.next();

    int id = mainCount;


    person[mainCount] = new Person(firstName, lastName, dob, id);
    ++mainCount;
    System.out.println("Du hast Person Nummer " + mainCount + " erstellt");


}

将所有创建的对象写入文件的方法:

public static void saveRecordsToFile() throws IOException {
    for(int i = 0; i < mainCount; i++) {
       int id = i;
       safePerson(id);

    }

}

public static void safePerson (int id) throws IOException {

    writer.write(person[id].getFullName());
    writer.write(person[id].getDob());
    writer.write(person[id].getId());
    writer.write(",");


}

保存方法是在退出方法中调用的

java filewriter
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.