-1

サイズを知らずに配列を埋めようとしています。これを行うためにArrayListを使用しました

        String filename = "C:\\tmTest.123";
    int tmHex;
    FileInputStream in = null;
    ArrayList<Byte> bytes = new ArrayList<Byte>();        

    try
    {            
        in = new FileInputStream(filename); 

        while((tmHex = in.read()) != -1)
        {                
            bytes.add(Byte.parseByte("", tmHex));

        }
    }
    catch (IOException ex)
    {
        Logger.getLogger(NARSS02.class.getName()).log(Level.SEVERE, null, ex);
    } 

しかし、例外 NumberFormatException が発生しました。なんで ?ファイルからのバイトの読み取り中に配列を埋める他の方法がある場合。

4

1 に答える 1

1

Java API から: (parseByte メソッドの概要)

次のいずれかの状況が発生した場合、NumberFormatException タイプの例外がスローされます。

  • 最初の引数が null であるか、長さがゼロの文字列です。
  • 基数が Character.MIN_RADIX よりも小さいか、Character.MAX_RADIX よりも大きいです。
  • 文字列の長さが 1 よりも長い場合、最初の文字がマイナス記号 '-' ('\u002D') である可能性があることを除いて、文字列のどの文字も指定された基数の数字ではありません。
  • 文字列で表される値は、バイト型の値ではありません。
于 2013-02-05T01:53:14.143 に答える