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
4

4 回答 4

0

你实际上把你的内容变成了一个字符串:

String fileToArray = new String(fileContent)

所以你实际上必须计算'\n'字符串中的行()。你可以这样做

System.out.println(d.replaceAll("\n","").length() - d.replaceAll("\n","").length());
于 2013-10-18T12:29:54.100 回答
0

它应该是 fileToArray.length;

于 2013-10-18T12:18:10.713 回答
0

您可以将此字符串参数传递到下面的代码中,它应该可以工作。

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

System.out.println(count);
于 2013-10-18T12:27:00.867 回答
0

可以尝试用逗号分割 fileToArray 字符串并计算长度吗?

int rowCount = fileToArray.split(",").length
于 2013-10-18T12:27:21.427 回答