2013-10-18 133 views
0

所以我想要統計數組中有多少行,但我不知道如何去做。我編寫了這段代碼,它讀取文件並將內容放入數組中。我如何計算數組中的行?對數組中的行進行計數

public static void main(String[] args) throws IOException { 

    File file = new File("array_list.csv"); 
    FileInputStream fin = null; 

    try { 

     fin = new FileInputStream(file); 
     byte fileContent[] = new byte[(int)file.length()]; 
     fin.read(fileContent); 
     String fileToArray = new String(fileContent); 


     //print file 
     System.out.println(fileToArray); 
    } 

    finally { 
     if (null != fin) { 
      fin.close(); 
     } 
    } 
} 

這裏是文件array_list.csv的

569, 985, 97, 13,-94,256, 31, 74, 569, 
-45, 601, 29, 19,-1952, 88,256,-69, 601, 
1952, 1952,-15, 5,-54, 60, 89, 91, 39, 
-601,-97, -6,-26, 89,-66,-601, 26, 28, 
-51,-91, 39, 88, 99, 985, -7, 39,-29, 
92, 1, 92, 92, 27,-11,-601, 22,-58, 
13,-92, 28,-40, 27,-73, 0, 22, 33 

我與fileToArray.length位explipse返回異常

Exception in thread "main" java.lang.Error: Unresolved compilation problem: 
length cannot be resolved or is not a field 
tryed內容
+0

請解釋你真正想要做什麼。你可以使用'fileContent.length',但我不確定這是你想要的。 (你的代碼中的'fileToArray'根本不是數組。) – Axel

+0

我需要對行進行計數,然後我必須在哪些行上顯示重複元素 – wkg86

回答

0

你可以將這個字符串參數傳遞給它應該工作的下面的代碼。

int count = new StringTokenizer(fileToArray, "\r\n").countTokens(); 

System.out.println(count); 
+0

這一個作品。感謝您的幫助 – wkg86

+0

您有任何想法如何計算colums – wkg86

+1

@ wkg86數組沒有行,也沒有列。它只有元素。作爲一維結構,您只能將其視爲一串數據。忘記Excel這不是一個適合編程概念的隱喻。 – Johan

0

應該fileToArray.length;

+0

它在線程「main」中拋出異常java.lang.Error:未解決的編譯問題:長度無法解析或不是字段 – wkg86

+0

顯示您的修改後的代碼(長度位) – Andrew

+0

您應該添加();在最後;) – Raphael

0

可能試圖通過逗號分割fileToArray字符串並計算長度?

int rowCount = fileToArray.split(",").length 
0

你居然變成你的內容轉換爲字符串:

String fileToArray = new String(fileContent) 

所以你確實有一個字符串來算的線('\n')。 你可以這樣做

System.out.println(d.replaceAll("\n","").length() - d.replaceAll("\n","").length());