簡體   English   中英

我想從文本文件中添加值,並將其添加到二維Java中。 但是給出了空指針異常

[英]I want to add values from a text file and add it in two dimensional java. But gives null pointer exception

我想讀取一個文本文件,然后將內容添加到Java中的二維數組中。 但是當我將這些值添加到數組中時,我在Java中獲取數組超出范圍的異常。

java.io.File test2 = new java.io.File("e:\\A.txt");

   BufferedReader bw =new BufferedReader(new FileReader("e:\\A.txt"));

   String s=bw.readLine();
   while(bw.readLine()!=null)
   {

       counterRow++;
   }

   System.out.println(counterRow);
   String sw=bw.readLine();

   String[] words=s.split(",");

   counterCol=words.length;
   System.out.println(words.length);


   @SuppressWarnings("resource")
Scanner input = new Scanner(test2);
   String Data[][]=new String[counterRow][counterCol];
   int i1=0,j1=0;
   while(input.hasNext())
   {
       String val=input.nextLine();
       j1=0;
       if(val.contains(","))
       {
           String str[]=val.split(",");
           int cn=str.length;
           while(cn>0)
           {
               Data[i1][j1]=str[j1];
               cn--;
               j1++;
           }
     }
         else
           Data[i1][j1]=val;
       i1++;
   }

我的輸入文件是

69,79,82

72,82,84

39,70,75

69,88,68

38,72,61

39,60,40

36,32,44

50,71,55

36,47,47

80,81,90

錯誤:“ main”線程中的異常100sssssss java.lang.NullPointerException,位於com.associa.mining.AssociateRuleMiningAlgo.main(AssociateRuleMiningAlgo.java:200)

那是因為您在達到EOF之后嘗試閱讀

while(bw.readLine()!=null)  // read till EOF
{

   counterRow++;
}

System.out.println(counterRow);
String sw=bw.readLine();         // ERROR cant read, you have reached EOF

PS-您甚至似乎都沒有使用變量“ sw”。

if(val.contains(","))條件更改為if(val!=null && val.contains(","))

補碼

String val=input.nextLine();
j1=0;
if(val!=null){

   if(val.contains(","))
   {
       String str[]=val.split(",");
       int cn=str.length;
       while(cn>0)
       {
           Data[i1][j1]=str[j1];
           cn--;
           j1++;
       }
     }else
        Data[i1][j1]=val;
     i1++;
 }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM