我想从csv文件中搜索数组中的NA值。
打击代码是示例代码。这段代码很好用
public static void main(String[] args) throws IOException {
String[] test={"NA","NA","1","2","1","2","NA","2","1","2","NA","2"};
String deleteM= "NA";
for(int i=0;i<test.length;i++)
{
String tmp=test[i];
if(tmp==deleteM)
{
test[i]=test[i+1];
System.out.println(test[i]);
}
}
for(int i=0;i<test.length;i++){
System.out.println(test[i]);
}
}
但是数组(保存csv)代码不起作用。 下面的代码正在加载csv文件代码并在数组中搜索值
public static String readCSV(File csvFile) {
BufferedReader bufferedReader = null;
StringBuffer stringBuffer = new StringBuffer();
try {
bufferedReader = new BufferedReader(new FileReader(csvFile));
} catch (FileNotFoundException e) {
e.printStackTrace();
}
try {
String temp = null;
while((temp = bufferedReader.readLine()) != null) {
stringBuffer.append(temp+","); // temp 에 저장되어있는 한 줄을 더한다.
}
System.out.println(stringBuffer);
} catch (IOException e) {
e.printStackTrace();
}
// -10,-9,-8,-7,-6,-5,-4,-3,-2,-1,0,,,,,,,,,,1,2,3,4,5,6,7,8,9,10, 반환
return stringBuffer.toString();
}
public static String[] parse(String str) {
String[] strArr = str.split(","); // 쉼표가 1개인 것을 기준으로 나누어서 배열에 저장
return strArr;
}
public static void main(String[] args) {
String str = readCSV(new File("D:/sample.csv"));
String[] strArr = parse(str); // String 배열에 차곡차곡 담겨서 나온다.
int varNumber = 45;
int rowNumber = strArr.length/varNumber;
String tmp= "NA";
for(int i=0;i<rowNumber;i++){
for(int j=0;j<varNumber;j++){
System.out.println(strArr[i][j]==tmp);
}
}
}
以下部分不起作用
System.out.println(strArr[i][j]==tmp);