【发布时间】:2018-03-09 11:46:01
【问题描述】:
使用 ReadInputCSVFromFile 方法从文件中读取样本 CSV 并在使用 split(",") 函数后将其解析为 String 数组,并将其传递给 2D 数组以完全读取它。 PrintResultsForTesting 方法仅用于打印 2D 数组以供视觉忽略。
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.util.Scanner;
public class CSVReader {
public static String[][] readIntoArray;
public static String[][] myArray;
public static String[][] csvResults;
public static int countRow = 0;
public static int countColumn = 0;
public static void main(String[] args) {
csvResults = ReadInputCSVFromFile(myArray);
PrintResultsForTesting(csvResults);
}
public static void PrintResultsForTesting(String[][] csvResults) {
String[][] newMyArray = new String[myArray.length][myArray[0].length];
for (int i = 0; i < csvResults.length; ++i) {
for (int j = 0; j < csvResults[0].length; ++j) {
System.out.println(csvResults[i][j]);
}
}
}
public static String[][] ReadInputCSVFromFile(String[][] myArray) {
countRow = 0;
countColumn = 0;
Scanner scanner;
String inputLine;
String fileLocation;
fileLocation = "D://WorkSpace_Git//methods//iq-distribution//docs/SAP.csv";
try {
scanner = new Scanner(new BufferedReader(new FileReader(fileLocation)));
while (scanner.hasNext()) {
inputLine = scanner.nextLine();
String[] readIntoArray = inputLine.split(",");
// count rows and columns
++countRow;
countColumn = readIntoArray.length;
myArray = new String[countRow][countColumn];
}
for (int i = 0; i < countRow; ++i) {
for (int j = 0; j < countColumn; ++j) {
myArray[i][j] = readIntoArray[i][j];
}
}
System.out.println("Rows: " + countRow + '\n' + "Columns: " + countColumn);
scanner.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
return myArray;
}
}
错误是:
project.CSVReader.ReadInputCSVFromFile(CSVReader.java:52) at project.CSVReader.main(CSVReader.java:16) 的线程“main”java.lang.NullPointerException 中的异常以退出代码 1 结束进程
【问题讨论】:
-
有什么问题?您是否收到错误消息?你被什么困住了?
-
好的,所以错误如下: project.CSVReader.ReadInputCSVFromFile(CSVReader.java:52) at project.CSVReader.main(CSVReader.java) 的线程“main”java.lang.NullPointerException 中的异常:16) 进程以退出代码 1 结束
标签: java csv multidimensional-array methods