テキスト ファイルに書き込んでデータベースをエミュレートするプログラムを作成しようとしています。使用するデータでいっぱいのテキスト ファイルを読み取り、それをバイト配列に変換して別のテキスト ファイルに格納することができます。私が抱えている問題は、文字列からバイト配列に変換しているときに、java.lang.ArrayIndexOutOfBoundsException: 8 が発生し続けることです。配列ですが、何も問題を解決していないようです。エラーが表示される関数は次のとおりです。
public void writeBucket(int bucket, String importFile, String[][] allrecords)
{
theDisk = new FakeDisk();
for(int z = 0; z < bucket; z++)
{
try
{
for(int j = 0; j < 7; z++)//for(int j = 0; j < allrecords[z].length; z++)
{
if(allrecords[z][j] == null) //this is the line where the error shows up
{
continue;
}
theDisk.writeSector(z, allrecords[z][j].getBytes());
}
}
catch(Exception e)
{
//System.out.println(e.getMessage());//this prints the number 8 when not commented out
continue;
}
}
try
{
FileWriter fwrite = new FileWriter(importFile);
fwrite.write("\n\n\n\n");
fwrite.close();
}
catch (Exception e)
{
System.err.println("Error: " + e.getMessage());
}
}
ループを try/catch に入れて、少なくともバイトをテキスト ファイルに出力し、無効なインデックスにヒットしたらそれ以上ファイルに追加しないと考えましたが、そうではありません。主に、このエラーが発生し続ける理由を理解するのに苦労しています。配列を問題なく出力でき、テキスト ファイルに書き込もうとしなければすべてが表示されます。
どんな助けでも大歓迎です!