簡體   English   中英

有沒有辦法將文本文件中的特定行添加到 Java 中的數組中?

[英]Is there a way to add specific lines from a text file into an array in Java?

我正在嘗試讀取包含不同值的文本文件,然后將這些值存儲到它們各自的 arrays 中,以便稍后驗證掃描儀輸入。 文本文件的示例如下:

u1142592
87500
1
u1530078
125000
1
u2405234
105000
2

第一個值是字符串(表示用戶 ID),第二個是 int(用戶薪水),第三個是 boolean(確定用戶是否為經理)。 我想通過它們各自的變量類型將這些值中的每一個存儲在一個單獨的數組中,但我對 Java 非常陌生,我不知道如何做到這一點。 此外,每個輸入只有 10 個(10 個用戶 ID 等),所以我不確定這是否有幫助。

為了達到我想要的結果,我必須編寫什么代碼? 謝謝,我很感激任何幫助!

您應該存儲在用戶 object 中。 用戶 object 可以是:

public class User {
    String id;
    int salary;
    boolean isManager;
    
    public User(String id, int salary, boolean isManager) {
        this.id = id;
        this.salary = salary;
        this.isManager = isManager;
    }
}

現在您可以讀取所有行並創建對象。 然后將所有對象放入一個數組中。

ArrayList<User> users = new ArrayList<>();

String id;
int salary;
boolean isManager;

Scanner scanner = new Scanner(new File("myfile.txt"));
int line = 1;
while (scanner.hasNextLine()) {
    if (line % 3 == 1) {
        id = scanner.nextLine();
    } else if (line % 3 == 2) {
        salary = Integer.parseInt(scanner.nextLine());
    } else if (line % 3 == 0) {
        isManager = scanner.nextLine().equals("1") ? true : false;
        
        User user = new User(id, salary, isManager);
        users.add(user);
    }
    
    line++;
}
scanner.close();

現在您有了用戶列表,您可以隨意使用它。 但是您應該在代碼中添加異常控件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM