我正在制作一个Android应用程序,其中包含CSV文件,其中包含公园内人数的值。我的目标是制作一个应用程序,输出数据的统计分析,如手段,模式和图表。我的问题是我不确定如何在java中存储数据。可以有任意数量的行,但总会有72列。从下面我可以看到,我使用了一个简单的数组,但这显然不起作用,只能存储最后一个观察结果。我在想地图但不确定如何实现它。很感谢任何形式的帮助。
package messy;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class Playing
{
static String[] tokens;
public static void main(String[] args)
{
//Input file which needs to be parsed
String fileToParse = "C:/Users/acer/Desktop/soparc shit/SOPARC.csv";
BufferedReader fileReader = null;
//Delimiter used in CSV file
final String DELIMITER = ",";
try
{
String line = "";
//Create the file reader
fileReader = new BufferedReader(new FileReader(fileToParse));
fileReader.readLine();
//Read the file line by line
while ((line = fileReader.readLine()) != null)
{
//Get all tokens available in line
tokens = line.split(DELIMITER);
}
}
catch (Exception e) {
e.printStackTrace();
}
finally
{
try {
fileReader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
答案 0 :(得分:1)
您可以使用CSV分析器,例如OpenCSV
CSVReader reader = new CSVReader(new FileReader(fileToParse));
String[] recordArray = null;
while ((recordArray = reader.readNext()) != null) {
// use recordArray...
}
答案 1 :(得分:0)
你需要使用这样的地图:
Map<String, List<String>> values
这里有一个非常好的和详细的例子:
Reading CSV file in Java and storing the values in an int array
答案 2 :(得分:0)
除了已提及的OpenCSV之外,另请参阅: