如何用java解析CSV文件

Python09

如何用java解析CSV文件,第1张

思想:先获取csv文件路径,通过BufferedReader类去读该路径中的文件,使用readLine方法进行逐行读取。

注意:使用readLine方法后会自动转到下一行。因此在判断是否为空后得先将读取到的内容赋值给一变量,在循环中使用该变量即可。

public static void main(String[] args)

{

    File csv = new File("C:\\Users\\chenxumin\\Desktop\\Result.csv")  // CSV文件路径

    BufferedReader br = null

    try

    {

        br = new BufferedReader(new FileReader(csv))

    } catch (FileNotFoundException e)

    {

        e.printStackTrace()

    }

    String line = ""

    String everyLine = ""

    try {

            List<String> allString = new ArrayList<>()

            while ((line = br.readLine()) != null)  //读取到的内容给line变量

            {

                everyLine = line

                System.out.println(everyLine)

                allString.add(everyLine)

            }

            System.out.println("csv表格中所有行数:"+allString.size())

    } catch (IOException e)

    {

        e.printStackTrace()

    }

}

import java.io.BufferedReader  

import java.io.FileReader  

import java.util.*

public class Test{

    public static void main(String[] args) {

        Hashtable<String, String[]> dict = new Hashtable<String, String[]>()

        try {  

            BufferedReader reader = new BufferedReader(new FileReader("test.csv"))

            String line = null  

            while((line=reader.readLine())!=null){  

                String item[] = line.split(",")

                String item2[] = new String[19]

                System.arraycopy(item,1,item2,0,19)

                dict.put(item[0],item2)

            }  

            Enumeration e2 = dict.keys()

            while (e2.hasMoreElements()) {

                String key = (String) e2.nextElement()

                System.out.println(key)

                String[] dd = (String[])dict.get(key)

                for (int i=0i<dd.lengthi++) {

                    System.out.print(dd[i]+"\t")

                }

                System.out.println()

            }

        }

        catch (Exception e) {

            e.printStackTrace() 

        }  

    }

}