Java 如何将CSV文件读取到HashMap中,仅用于不带空格的行

Java 如何将CSV文件读取到HashMap中,仅用于不带空格的行,java,hashmap,Java,Hashmap,我正在执行一个相当独特的CSV文件读取,但有一个独特的方面。如果该行只有第19列中的空白单元格值,则可以进入hashmap。如果行中的任何其他列有空白单元格,则应将其从hashmap中排除。该表共有22列。有没有办法在不写出每一列索引的情况下写出这个if语句?例如if(piecesOfInfo[0]!=”&&piecesOfInfo[1]!=”…) public HashMap createHashMap(){ File flightFile=新文件(“fiting.csv”); HashMap

我正在执行一个相当独特的CSV文件读取,但有一个独特的方面。如果该行只有第19列中的空白单元格值,则可以进入hashmap。如果行中的任何其他列有空白单元格,则应将其从hashmap中排除。该表共有22列。有没有办法在不写出每一列索引的情况下写出这个
if
语句?例如
if(piecesOfInfo[0]!=”&&piecesOfInfo[1]!=”…)

public HashMap createHashMap(){
File flightFile=新文件(“fiting.csv”);
HashMap flightsMap=新HashMap();
试一试{
扫描仪s=新扫描仪(flightFile);
而(s.hasNextLine()){
String info=s.nextLine();
字符串[]piecesOfInfo=info.split(“,”);
如果(/**piecesOfInfo除第18列**/外不包含空格){
String flightKey=piecesOfInfo[4];//设置键
String[]value=Arrays.copyOfRange(piecesOfInfo,0,piecesOfInfo.length);
flightsMap.put(flightKey,值);
}
}
s、 close();
}
catch(filenotfounde异常)
{
System.out.println(“无法打开:+flightFile”);
}
回程飞行图;
}
这将有助于:

List infoList=Arrays.asList(piecesOfInfo);
如果(!infoList.contains(“”)| |(infoList.indexOf(“”==18&&infoList.lastIndexOf(“”==18)){
//非空工件信息期望位置19

}
最后,我在If语句中分别列出了每一列:

    public HashMap<String,String[]> createHashMap() {
        File flightFile = new File("flights.csv");
        HashMap<String,String[]> flightsMap = new HashMap<String,String[]>();

        try {
        Scanner s = new Scanner(flightFile);
        while (s.hasNextLine()) {

                String info = s.nextLine();
                String [] piecesOfInfo = info.split(",");
                if(piecesOfInfo[0] != "" || piecesOfInfo[1] != "" ||    piecesOfInfo[2] != "" ||    
                   piecesOfInfo[3] != "" ||     piecesOfInfo[4] != "" ||    piecesOfInfo[5] != "" ||    
                   piecesOfInfo[6] != "" ||     piecesOfInfo[7] != "" ||    piecesOfInfo[8] != "" ||    
                   piecesOfInfo[9] != "" ||     piecesOfInfo[10] != "" ||   piecesOfInfo[11] != "" ||   
                   piecesOfInfo[12] != "" ||    piecesOfInfo[13] != "" ||   piecesOfInfo[14] != "" ||   
                   piecesOfInfo[15] != "" ||    piecesOfInfo[16] != "" ||   piecesOfInfo[17] != "" ||   
                   piecesOfInfo[19] != "" ||    piecesOfInfo[20] != "" ||   piecesOfInfo[21] != "") {
                    String flightKey = piecesOfInfo[4] + "_" + piecesOfInfo[2] + "_" + piecesOfInfo[11]; //Setting the Key
                    String[] values = Arrays.copyOfRange(piecesOfInfo, 0, piecesOfInfo.length);

                    flightsMap.put(flightKey, values);
                }

        }
        s.close();
        }


       catch (FileNotFoundException e)
       {
         System.out.println("Cannot open: " + flightFile);
       }

        return flightsMap;
    }
public HashMap createHashMap(){
文件flightFile=新文件(“flights.csv”);
HashMap flightsMap=新HashMap();
试一试{
扫描仪s=新扫描仪(flightFile);
而(s.hasNextLine()){
String info=s.nextLine();
字符串[]piecesOfInfo=info.split(“,”);
如果(piecesOfInfo[0]!=“”| | piecesOfInfo[1]!=“”| | piecesOfInfo[2]!=“”| |
计件信息[3]!=“计件信息[4]!=“计件信息[5]!”
计件信息[6]!=“计件信息[7]!=“计件信息[8]!”
计件信息[9]!=“计件信息[10]!=“计件信息[11]!”
计件信息[12]!=“计件信息[13]!=“计件信息[14]!”
计件信息[15]!=“计件信息[16]!=“计件信息[17]!”
计件信息[19]!=“| |计件信息[20]!=”| |计件信息[21]!=”){
字符串flightKey=piecesOfInfo[4]+“”+piecesOfInfo[2]+“”+piecesOfInfo[11];//设置键
String[]value=Arrays.copyOfRange(piecesOfInfo,0,piecesOfInfo.length);
flightsMap.put(flightKey,值);
}
}
s、 close();
}
catch(filenotfounde异常)
{
System.out.println(“无法打开:+flightFile”);
}
回程飞行图;
}

您可以在所有索引上使用循环。@code学徒我将对此进行研究now@FinDev你试过我的答案了吗?
    public HashMap<String,String[]> createHashMap() {
        File flightFile = new File("flights.csv");
        HashMap<String,String[]> flightsMap = new HashMap<String,String[]>();

        try {
        Scanner s = new Scanner(flightFile);
        while (s.hasNextLine()) {

                String info = s.nextLine();
                String [] piecesOfInfo = info.split(",");
                if(piecesOfInfo[0] != "" || piecesOfInfo[1] != "" ||    piecesOfInfo[2] != "" ||    
                   piecesOfInfo[3] != "" ||     piecesOfInfo[4] != "" ||    piecesOfInfo[5] != "" ||    
                   piecesOfInfo[6] != "" ||     piecesOfInfo[7] != "" ||    piecesOfInfo[8] != "" ||    
                   piecesOfInfo[9] != "" ||     piecesOfInfo[10] != "" ||   piecesOfInfo[11] != "" ||   
                   piecesOfInfo[12] != "" ||    piecesOfInfo[13] != "" ||   piecesOfInfo[14] != "" ||   
                   piecesOfInfo[15] != "" ||    piecesOfInfo[16] != "" ||   piecesOfInfo[17] != "" ||   
                   piecesOfInfo[19] != "" ||    piecesOfInfo[20] != "" ||   piecesOfInfo[21] != "") {
                    String flightKey = piecesOfInfo[4] + "_" + piecesOfInfo[2] + "_" + piecesOfInfo[11]; //Setting the Key
                    String[] values = Arrays.copyOfRange(piecesOfInfo, 0, piecesOfInfo.length);

                    flightsMap.put(flightKey, values);
                }

        }
        s.close();
        }


       catch (FileNotFoundException e)
       {
         System.out.println("Cannot open: " + flightFile);
       }

        return flightsMap;
    }