Frage

InputStream myInput = myContext.getAssets().open("MyFolder/" + "MyFile.db3");

Ich habe eine Datei in den Ordner Assets in einem Unterordner wie oben. Es ist nicht die Datei bekommen obwohl, gibt es eine spezielle Art und Weise einen Unterordner in dem Vermögen Ordner angeben?

Ian

War es hilfreich?

Lösung

Edit: war falsch über Unterordner
. Dieser Code funktioniert gut auf 1,5 (für eine Datei sample.txt unter sub Ordner in assets platziert):

InputStream is = getAssets().open("sub/sample.txt");
BufferedReader br = new BufferedReader(new InputStreamReader(is));
String line = null;
while ((line = br.readLine()) != null) {
    Log.e("wtf", line);
}
br.close();

Sind Sie sicher, Sie haben die Namen bekam Recht?

Andere Tipps

"MyFolder/" + "MyFile.db3"

Ein Dateiname für Dateien auf die Vermögenswerte hinzugefügt Ordner in Kleinbuchstaben sein muss. so, ein Dateiname wie MyFolder und Myfile.db3 ist ungültig. Benennen Sie sich auf „myfolder“ und „myfile.db3“, dann wird alles in Ordnung sein.

Ist Ihre Asset-Datei über 1 MB?

Ich stelle fest, dass ich die gleiche ungerade erhalten, leeren IOException, wenn ich versuche, einen Vermögenswert zu öffnen, die über dieser Größe ist. Die Tatsache, dass es sich in einem Unterordner ist, könnte ein Ablenkungsmanöver sein. Ich versuche, eine große Textdatei zu öffnen, so dass ich diese Grenze durch Aufspaltung es umgehen kann. Können Sie etwas ähnliches mit Ihrer .db3 Datei tun?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top