2017-10-12 11 views
-2

私のプログラムは、CSVファイルを持つURLを取得することです。これをファイルに渡してさらにクエリを実行しようとしていますが、NoSuchElementExceptionが返されます。CSVをJavaを使用してファイルにダウンロードする方法

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(); 
    } 

} 
+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(); 

あなたは、まずそれをダウンロードungzip、通常のローカルファイルのように扱い、またはプレーンCSVファイルへのリンクを提供するために、いずれかの必要が直接読み取ることができませんgzipで圧縮されたファイルへのあなたのURLリンク、。

関連する問題