2016-08-17 2 views
0

So weiß ich, dass eine der Möglichkeiten, eine Datei Leser zu definieren, ist mit den Worten:Android Studio: Filereader werfen FileNotFoundException

FileReader file = new FileReader(f); 

wobei f eine Datei Klasse. In meinem Code erstelle ich die Dateiklasse, bevor ich den fileReader definiere, und er gibt mir eine FileNotFoundException. Hier

ist der Code, der mir Probleme geben:

InputStream inputStream = getResources().openRawResource(R.raw.stats); 
    String baseDir = android.os.Environment.getExternalStorageDirectory().getAbsolutePath(); 
    String fileName = "com/example/magulo/testing123/stats.csv"; 
    String filePath = baseDir + File.separator + fileName; 

    File f = new File(filePath); 
    FileReader file = new FileReader(f); //this throws FileNotFound 
    CSVReader reader = new CSVReader(file); 

Diese im geschützten Hohlraum onCreate ist. Stats.csv ist eine Datei, die sich in einem Ordner mit dem Namen raw in res befindet und ebenfalls in den gleichen Ordner kopiert wird wie der Erroring-Code, der Java-Ordner. Warum findet der FileReader die Datei nicht? Die Datei wird ohne Probleme deklariert ...

+0

'Environment.getExternalStorageDirectory()' gibt den Pfad von der Wurzel der SD-Karte, nicht die internen Assets. –

+0

Wie würden Sie den Weg der internen Vermögenswerte bekommen? @Andrew Sun – user3236874

+0

Dies könnte helfen: http://StackOverflow.com/Questions/4744169/How-To-Determine-the-absolute-path-for-specific-file-from-assets –

Antwort

0

Zeichenfolge fileName = "com/example/magulo/testing123/stats.csv";

Zeichenfolge filePath = baseDir + File.separator + fileName;

Datei f = neue Datei (filePath);

if (! F.exits) {enter code here f.mkidr();

}

+0

durch den Code hier eingeben, tun Sie meinen, deklariere den Dateileser in der if-Anweisung? weil ich das mache und ich bekomme immer noch eine Datei nicht gefunden Ausnahme ... – user3236874

Verwandte Themen