如何使用Java将CSV下载到文件

时间:2017-10-12 22:30:05

标签: java csv

我的程序是接收包含CSV文件的网址。我试图将其传递给文件以进一步查询,但它返回NoSuchElementException。

public static void main(String[] args) throws ParseException, IOException, URISyntaxException {
    // TODO Auto-generated method stub

    String web = "https://example.com/data.csv";
    URL content = new URL(web);

    File file = new File(content.getPath());

    try {
        Scanner inputStream = new Scanner(file);    //Input file
        String[] values = data.split(",");
        while (inputStream.hasNext()){

            data = inputStream.next();

            values = data.split(",");
            System.out.println(values[];
        }
        inputStream.close();
   } catch (FileNotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

}

1 个答案:

答案 0 :(得分:1)

来自https://docs.oracle.com/javase/7/docs/api/java/net/URL.html

  

getPath()获取此URL的路径部分。 这不是您想要的

     

openStream()打开与此URL的连接,并返回一个InputStream以从该连接读取。 这就是你想要的

    URL content = new URL(web);
    InputStream stream = content.openStream();

    Scanner inputStream = new Scanner(stream);
    while (inputStream.hasNext()) {
        String data = inputStream.next();
        String[] values = data.split(",");
        System.out.println(values);
    }
    inputStream.close();

此外,您的网址链接到gzipped文件,无法直接读取您需要先下载,ungzip和普通本地文件,或提供普通CSV文件的链接。