2016-02-05 83 views
0

我试图做一个简单的类,它读出一个在线.txt的内容并将它存储在一个DataClass中。BufferedReader空指针txt上的异常

不知何故,我在while循环中的第一个变量赋值中得到一个Nullpointer异常,尽管行被打印为“4”。

任何人都知道我的代码中的问题?中的.txt的

public class GetFile { 
public static List<Log> getFile(){ 
    URL url = null; 
    List<Log> list = new ArrayList<Log>(); 

    try { 
     url = new URL("http://test.net/test.txt"); 
     BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream())); 
     String line; 
     while ((line = in.readLine()) != null) { 
       Log log = new Log(); 
       System.out.println("Line is: " + line); 

       **-->log.day = Integer.getInteger(line);<--** 

       line = in.readLine(); 
       log.month = Integer.getInteger(line); 
       line = in.readLine(); 
       log.year = Integer.getInteger(line); 
       line = in.readLine(); 
       log.hour = Integer.getInteger(line); 
       line = in.readLine(); 
       log.minute = Integer.getInteger(line); 
       line = in.readLine(); 
       log.hum = Float.parseFloat(line); 
       line = in.readLine(); 
       log.temp = Float.parseFloat(line); 
       list.add(log); 
       System.out.println("Item added"); 
     } 
     in.close(); 


    } catch (MalformedURLException e) { 
     e.printStackTrace(); 
    } 
    catch (IOException e1) { 
     e1.printStackTrace(); 
    } 



    return list; 
} 
} 

内容是以下几点:

4 
2 
2016 
22 
14 
49.5999984741 
19.2999992371 
4 
2 
2016 
22 
14 
49.5999984741 
19.2999992371 
4 
2 
2016 
... 

回答

0

你应该使用的方法是parseInt函数()。尝试改变这一行:

log.day = Integer.getInteger(line); 

这样:

log.day = Integer.parseInt(line); 
+0

工作就像一个魅力! 谢谢! –