簡體   English   中英

Java-從.txt文件讀取到對象

[英]Java - Read from .txt file into a Object

我有一個稱為問題的對象。 它具有以下屬性:

  • 字符串問題,選項1,選項2,選項3,答案

  • 雙重困難

  • 整數類別

我有一個名為questions.txt的文件,其中包含有關這些屬性的信息,這些屬性用逗號分隔。 (每行1個對象)

例如

胭脂紅是哪種顏色的鮮艷陰影?,藍色,綠色,黃色,紅色,1,2

我想閱讀文件的每一行,創建一個對象問題並將其添加到一個名為questionBank的ArrayList中。

對於上述示例,這將是創建新對象的結果。

問題=胭脂紅是哪種顏色的鮮艷陰影?

選項1 =藍色

option2 =綠色

option3 =黃色

答案=紅色

難度= 1

類別= 2

到目前為止,我已經獲得了以下代碼,但是不知道如何在逗號之間提取每個屬性,因此我可以在對象實例化期間將其用作參數。

Scanner input = new Scanner(new File("/Users/usaamahpatel/IdeaProjects/sdd_assignment/src/questions.txt"));
    input.useDelimiter(",");

    while (input.hasNext()) {
        System.out.println(input.next());
    }

這是我從上面的代碼中獲得的輸出:

Carmine is a vivid shade of which colour?
Blue
Green
Yellow
Red
1
2

如您所見,它會打印逗號之間的每個項目,如何為一個對象提取每行的所有屬性,依此類推?

我假設文件中有多行,所以有多個問題,對嗎?

因此,請使用不是分隔符,而不是,而是使用newline逐行讀取(或使用Files#readLines作為分隔符。然后,您知道每一行都代表一個對象。要檢索對象的不同屬性,可以使用,物體

假設您要的每個問題都由換行符分隔,則可以使用input.nextLine().split(",")獲得一個字符串數組,其中每個元素都是一個屬性。 然后,您可以使用Double.valueOf()Integer.valueOf()將難度和類別解析為適當的類型。

暫無
暫無

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

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