填充ArrayList时出现NumberFormatException

时间:2013-02-05 01:32:25

标签: java

我试图在不知道其大小的情况下填充数组。我用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。为什么? 如果在从文件读取字节期间有任何其他方法来填充数组。

1 个答案:

答案 0 :(得分:1)

From the Java API:(parseByte方法摘要)

  

如果有任何类型,则抛出NumberFormatException类型的异常   发生以下情况:

     
      
  • 第一个参数为null或是一个长度为零的字符串。
  •   
  • 基数小于Character.MIN_RADIX或大于Character.MAX_RADIX。
  •   
  • 字符串的任何字符都不是指定基数的数字,除了第一个字符可能是减号' - '   ('\ u002D')规定字符串长度超过1。
  •   
  • 字符串表示的值不是byte类型的值。
  •