私はカスタム配列にロードしたい.datファイルを持っています。実際にデータを配列にロードするにはどうすればよいですか。データは、(String、int、int、double、String)で構成されます。データファイルを多次元配列に読み込むJava
class CDinventoryItem{
private CDinventoryItem [] inven = new CDinventoryItem[1000];
public CDinventoryItem (String title, int itemNumber, int numberofUnits,
double unitPrice, String genre){
DataInputStream input;
try{
input = new DataInputStream(new FileInputStream("inventory.dat"));
inven = input.read(CDinventoryItem[]); //line I am receiving error on
}
catch (IOException error){
JOptionPane.showMessageDialog(null, "File not found",
"" ,JOptionPane.ERROR_MESSAGE);
}
}
}
は、だから今readFileのは...独自のクラスに
class readFile {
public CDinventoryItem[] inven;
public readFile(){
BufferedReader in = null;
try {
in = new BufferedReader(new FileReader("inventory.dat"));
String line = null;
int i = 0;
while ((line = in.readLine()) != null) {
// process each line
String[] parts = line.split(",");
String title = parts[0];
int itemNumber = Integer.parseInt(parts[1]);
int numberofUnits = Integer.parseInt(parts[2]);
double unitPrice = Double.parseDouble(parts[3]);
String genre = parts[4];
CDinventoryItem item = new CDinventoryItem(title, itemNumber, numberofUnits,
unitPrice, genre);
//add item to array
inven[i] = item;
i++;
}
} catch (IOException e) {
e.printStackTrace();
} finally {
if (in != null) {
try {
in.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}}
であり、私は私のCDinventoryクラス
readFile invenItem = new readFile();
list = new JList(invenItem.inven);
からそれを呼び出していますが、それは私に与える:スレッドの例外を"main" java.lang.ArrayIndexOutOfBoundsException:1 オンライン: readFile invenItem = new readFile();
私はそのように配列を渡すのが好きではないようです。
私は質問を理解していない。ここで
あなたが始めるためにいくつかのコードです。 'CDinventoryItem'の1次元配列が必要なようです。 – Gabe
申し訳ありませんが多分私は誤解しています。私はちょうど.datの内容を取得し、それを私のCDinventoryItem配列にロードしたいと思う。 – user569127