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
모두 작동하지 않습니다.
예외/오류 메시지가 무엇입니까? – bgoldst
[클래스 로더] (http://www.javaworld.com/article/2077260/learn-java/learn-java-the-basics-of-java-class-loaders.html?null)에 대해 자세히 알아보십시오. –
어디에서 실행 중인지에 따라 달라집니다. System.out.println (new File ("v1.csv"). getAbsolutePath())을 사용하여 찾고자하는 위치의 전체 경로를 인쇄하십시오. – BretC