A dat
文件包含以下格式的信息,其格式爲writeUTF
: Fruit, Colour, Taste, Yes/No
,最後一個是Yes或No,但是它是一個字符串。現在基於主數據的實例創建
,一類定義如下
public class Food {
private String name;
private String colour;
private String taste;
private boolean availability;
public Food(String name, String colour, String taste, boolean availability) {
this.name = name;
this.colour = colour;
this.taste = taste;
this.availability = availability;
}
}
當我看到dat
文件有:
FileInputStream fis = new FileInputStream("food.dat");
DataInputStream dis = new DataInputStream(fis);
我可以以某種方式轉換的文本行立即進入Food
一個實例?棘手的是String -> boolean
。
起初,我想該文件的每一行添加到ArrayList
,然後從,
分割每行並將其加入到龐大的一個字符串,並使用if
邏輯來處理Yes/No
一部分,但如果也有數千行此信息?這種方法不會吸引太多。
條件是這不使用ObjectOutputStream
,可悲的是書面(某種類型的任務,我沒有創建的規則)。有沒有辦法從文件中讀取一行並根據這些信息創建一個實例?
可獲得性參數是一個布爾值。這不會產生問題嗎? –
你創建了第二個構造函數:你有一個有4個參數的構造函數,你保存它,然後添加一個我給你創建的文本行。 –
我明白了,但是如果我使用原始構造函數創建了一個實例,然後又想將它''DataOutputStream''放入已存在的文件中,該怎麼辦?然後,我是否定義了一種方法,在寫入之前將布爾值更改爲文本? –