2016-04-24 12 views
0

何らかの理由で、私は既にCSVファイルをダウンロードしましたが、私のプログラムはそれらを読むことができません。私のコードは以下の通りで、CSVファイルが存在するかどうかを調べます。そうでなければ、URLに行き、コードをダウンロードして読み込みます。ただし、パスフォルダー内にあるにもかかわらず、コードは常に再ダウンロードされます。Java - CSVファイルが見つかりません。

private void loadData(String path, String url) throws IOException{ 

    File f = new File(path); 
    System.out.println("looking for path " + path); 
    if(f.exists()) { 
     readSavedFile(path); //method to load data 
    } 
    else{ 
     System.out.println("Need to download from internet"); 
     downloadAndRead(url, path); 
    } 

}

このコード出力パスCを探して

:\ Users \ユーザーn_000 \ワークスペース\プログラム\ GOOG.csv は、インターネットからダウンロードする必要があります。 パスを探しています。C:\ Users \ n_000 \ workspace \ Program \ CHK.csv インターネットからダウンロードする必要があります。

私はパスを作成するために使用しているコードは、このです:

 String save = "filename"; //in program use this is the name of the stock eg GOOG or CHK 
     Path currentRelativePath = Paths.get(""); 
     String savedFolder = currentRelativePath.toAbsolutePath().toString() + "\\"; 

     path = savedFolder+save+".csv"; 
+0

「C:\ Users \ n_000 \ workspace \ Program \ GOOG.csv」はありますか? –

+2

exists()は、アクセス許可や呼び出しが失敗した場合など、さまざまな理由でfalseを返します。 –

+0

@RC。私はファイルが存在することを肯定している – jonbon

答えて

0

その作業罰金、私は、私は私のテストコードを掲示しています、すべての問題を参照してください、それは有用である可能性が期待していませんでした。

import java.io.File; 
import java.io.IOException; 
import java.nio.file.Path; 
import java.nio.file.Paths; 

public class Test { 

    public static void main(String ar[]) 
    { 
     Test test=new Test(); 
    } 
    public Test() 
    { 
     String save = "GOOG"; //in program use this is the name of the stock eg GOOG or CHK 
     Path currentRelativePath = Paths.get(""); 
     String savedFolder = currentRelativePath.toAbsolutePath().toString() + "\\"; 
     String path = savedFolder+save+".csv"; 
     String url=null; 

     try 
     { 
      loadData(path,url); 

     } catch (IOException e) 
     { 
      e.printStackTrace(); 
     } 
    } 


    private void loadData(String path, String url) throws IOException 
    {  
     File f = new File(path); 
     System.out.println("looking for path " + path); 
     if(f.exists()) { 
      readSavedFile(path); //method to load data 
     } 
     else{ 
      System.out.println("Need to download from internet"); 
      downloadAndRead(url, path); 
     } 
    } 
    public void readSavedFile(String path) 
    { 
     System.out.println("Reading file"); 
    } 

    public void downloadAndRead(String url,String path) 
    { 
     System.out.println("Downloding file"); 
    } 
} 
関連する問題