2013-10-28 48 views
-3

嗨我有一個文本文件的結構是這樣閱讀從文本文件的Java特定行

1,2名,3

我怎麼能獲得第2列編號爲2的所有行?

到目前爲止,我可以讀取文件並更新它等。

+2

請發表您已經使用的代碼csv文件讀取文件。 – SudoRahul

+2

你的問題太模糊了,所以不能用這種方式工作。 –

+0

讀取每行,如果行不爲空,則使用','作爲demiliter並檢查數組[1] = 2,如果是,則將該行添加到集合中...對所有行重複 – upog

回答

0
ArrayList<String[]> tempArrayList = new ArrayList<String[]>(); 

第1步:逐行讀取

String row = "row read from file"; 

第2步文件行:斯普利特字符每行 ''

String[] temp = row.split(','); 

第3步:將分割數組存儲在您所需的數據類型對象中

tempArrayList.add(temp); 
1

我認爲你可以用這種方式去..一行

讀取文件中的行。 閱讀每行後使用字符串標記,並獲得第二列。 並檢查天氣是否爲'2'。

我希望它可以幫助你,簡單的方法...

+0

感謝您的努力但最後我用正則表達式,只是打印所有包含特定模式的行,謝謝 – user2924202

0

如果你列在上下文中的意思是其中行列由逗號分隔的,那麼你可以這樣做下面

try { 
     BufferedReader reader = new BufferedReader(new FileReader(new File("test.txt"))); 
     String readLine = null; 
     int count = 0; 
     while((readLine = reader.readLine()) != null) { 
      count++; 
      String[] words = readLine.split(","); 
      if(words[1]!=null && words[1].equalsIgnoreCase("2")) { 
       System.out.println("Criteria met at Line number " + count); 
      } 
     } 
    } catch (IOException e) { 
     e.printStackTrace(); 
    }