2015-01-31 5 views
2

주 프로젝트 디렉토리에있는 v1.csv라는 CSV 파일 호출이 있습니다. 연료를 읽으려고 할 때, 자바는 결코 그것을 찾지 못하는 것 같습니다. 파일을 2 차원 배열로 읽으려면 opencsv와 스캐너 솔루션을 사용했지만 두 방법 모두 작동하지 않습니다. Java에서 파일을 찾을 위치를 어떻게 알려야합니까?Java는 .csv 파일을 찾을 위치를 모릅니다. 어디에 넣어야합니까?

스캐너 솔루션 :

BufferedReader reader = new BufferedReader(new FileReader(
      "v1.csv")); 

Opencsv 솔루션 :

CSVReader reader = new CSVReader(new FileReader("v1.csv")); 

Opencsv 대체 :

CSVReader reader = new CSVReader(new FileReader("/Users/yilun/Desktop/v1.csv")); 

스택 추적 :

01-31 10:08:35.671: W/System.err(16946): java.io.FileNotFoundException: /Users/yilun/Downloads/mapquest-android-sdk/samples: open failed: ENOENT (No such file or directory) 
01-31 10:08:35.671: W/System.err(16946): at libcore.io.IoBridge.open(IoBridge.java:409) 
01-31 10:08:35.671: W/System.err(16946): at java.io.FileInputStream.<init>(FileInputStream.java:78) 
01-31 10:08:35.671: W/System.err(16946): at java.io.FileInputStream.<init>(FileInputStream.java:105) 
01-31 10:08:35.671: W/System.err(16946): at java.io.FileReader.<init>(FileReader.java:66) 
01-31 10:08:35.671: W/System.err(16946): at com.mapquest.android.samples.MyLocationMap.onCreate(MyLocationMap.java:73) 
01-31 10:08:35.681: W/System.err(16946): at android.app.Activity.performCreate(Activity.java:6084) 
01-31 10:08:35.681: W/System.err(16946): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087) 
01-31 10:08:35.681: W/System.err(16946): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2181) 
01-31 10:08:35.681: W/System.err(16946): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2283) 
01-31 10:08:35.681: W/System.err(16946): at android.app.ActivityThread.access$800(ActivityThread.java:144) 
01-31 10:08:35.681: W/System.err(16946): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1205) 
01-31 10:08:35.681: W/System.err(16946): at android.os.Handler.dispatchMessage(Handler.java:102) 
01-31 10:08:35.681: W/System.err(16946): at android.os.Looper.loop(Looper.java:136) 
01-31 10:08:35.681: W/System.err(16946): at android.app.ActivityThread.main(ActivityThread.java:5158) 
01-31 10:08:35.681: W/System.err(16946): at java.lang.reflect.Method.invokeNative(Native Method) 
01-31 10:08:35.681: W/System.err(16946): at java.lang.reflect.Method.invoke(Method.java:515) 
01-31 10:08:35.681: W/System.err(16946): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:796) 
01-31 10:08:35.681: W/System.err(16946): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:612) 
01-31 10:08:35.681: W/System.err(16946): at dalvik.system.NativeStart.main(Native Method) 
01-31 10:08:35.681: W/System.err(16946): Caused by: libcore.io.ErrnoException: open failed: ENOENT (No such file or directory) 
01-31 10:08:35.681: W/System.err(16946): at libcore.io.Posix.open(Native Method) 
01-31 10:08:35.681: W/System.err(16946): at libcore.io.BlockGuardOs.open(BlockGuardOs.java:110) 
01-31 10:08:35.681: W/System.err(16946): at libcore.io.IoBridge.open(IoBridge.java:393) 
01-31 10:08:35.681: W/System.err(16946): ... 18 more 

모두 작동하지 않습니다.

+0

예외/오류 메시지가 무엇입니까? – bgoldst

+0

[클래스 로더] (http://www.javaworld.com/article/2077260/learn-java/learn-java-the-basics-of-java-class-loaders.html?null)에 대해 자세히 알아보십시오. –

+2

어디에서 실행 중인지에 따라 달라집니다. System.out.println (new File ("v1.csv"). getAbsolutePath())을 사용하여 찾고자하는 위치의 전체 경로를 인쇄하십시오. – BretC

답변

관련 문제