[英]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.