2016-12-27 6 views
-1

FileReaderを使用してファイルを読み込もうとしていますが、NULLポインタアクセスが発生しています。以下はコードです。エラーが何であるか教えてください。FileReaderの使用中にnullpointerアクセス​​エラーが発生する

public class C { 
    private static final String file = "a.csv"; 

    public static void main(String[] args) { 
     try (BufferedReader br2 = new BufferedReader(new FileReader(file))) { 
      String line1; 
      while ((line1 = br2.readLine()) != null); 
      { 
       System.out.println(line1); 
       String[] rules = line1.split(","); 
       String sevkey = rules[0]; 
       String sevval = rules[1]; 
       String[] val = sevval.split("\\|"); 
       String actsevval = val[1]; 
       HashMap<String, String> sevs = new HashMap<String, String>(); 
       for (int i = 0; i <= sevs.size(); i++) { 
        sevs.put(sevkey, actsevval); 
        if (actsevval != "none") { 
         System.out.println(actsevval); 
        } 

       } 
      } 
     } catch (FileNotFoundException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } catch (IOException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
    } 
} 
+0

をスタックトレースを含めてください – AMB

+0

スタックトレースを示します。それをお読みください。 – duffymo

+2

'while((line1 = br2.readLine())!= null);'ここでセミコロンを削除する – DimaSan

答えて

0

このようなコードは正しく動作します:

public class C { 
    private static final String file="a.csv"; 

    public static void main(String[] args) { 
     try (BufferedReader br2 = new BufferedReader(new FileReader(file))) { 
      String line1; 
      while ((line1 = br2.readLine()) != null) // Here was extra semicolon! 
      { 
       System.out.println(line1); 
       String[] rules = line1.split(","); 
       String sevkey = rules[0]; 
       String sevval = rules[1]; 
       String[] val = sevval.split("\\|"); 
       String actsevval= val[1]; 
       HashMap<String, String> sevs = new HashMap<String,String>(); 
       for (int i =0; i<=sevs.size();i++){ 
        sevs.put(sevkey, actsevval); 
        if (actsevval!="none"){ 
         System.out.println(actsevval); 
        } 
       } 
      } 
     } catch (FileNotFoundException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } catch (IOException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
    } 
} 
関連する問題