0

テキストファイルのリストを2D配列に読み込みたい。このコードは、配列への読み込み時に実行時エラーをスローします。どうすればこれを修正できますか?

  public static void main(String[] args) throws IOException
   {    
   byte[][] str = null;
   File file=new File("test1.txt");
   str[0]= readFile1(file);

   File file2=new File("test2.txt");
   str[1]= readFile1(file2);
  }

 public static byte[] readFile1 (File file) throws IOException {

    RandomAccessFile f = new RandomAccessFile(file, "r");

    try {    
        long longlength = f.length();
        int length = (int) longlength;
        if (length != longlength) throw new IOException("File size >= 2 GB");

        byte[] data = new byte[length];
        f.readFully(data);
        return data;
    }
    finally {
        f.close();
      }
    }
4

1 に答える 1

2

そもそも

byte[][] str = null;
File file=new File("test1.txt");
str[0]= readFile1(file);

この時点ではがnullであるNullPointerExceptionため、最後のステートメントがスローされます。str配列を割り当てる必要があります。

byte[][] str = new byte[2][];
于 2013-03-20T03:23:56.613 に答える