Ich habe eine Textdatei (* .txt) auf einen Server hochgeladen, jetzt möchte ich die Textdatei lesen ...Android - Wie kann ich eine Textdatei von einer URL lesen?
Ich habe dieses Beispiel ohne Glück versucht.
ArrayList<String> urls=new ArrayList<String>(); //to read each line
TextView t; //to show the result
try {
// Create a URL for the desired page
URL url = new URL("mydomainname.de/test.txt"); //My text file location
// Read all the text returned by the server
BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
t=(TextView)findViewById(R.id.TextView1);
String str;
while ((str = in.readLine()) != null) {
urls.add(str);
}
in.close();
} catch (MalformedURLException e) {
} catch (IOException e) {
}
t.setText(urls.get(0)); // My TextFile has 3 lines
App selbst endet ... Kann es mit dem Domainnamen sein up? Sollte es stattdessen eine IP geben? Ich habe herausgefunden, dass die While-Schleife nicht ausgeführt wird. Weil, wenn ich t.setText * in die while-Schleife setzen, gibt es keinen Fehler, und die TextView ist leer. LogCat Fehler: http://textuploader.com/5iijr es markieren die Linie mit t.setText(urls.get(0));
Vielen Dank im Voraus!
"mydomainname.de/test.txt" keine gültige URL ist. Als Folge wird der 'URL'-Konstruktor eine' MalformedURLException' werfen, die Sie vollständig ignorieren. Als eine zweite Folge ist Ihre Liste in URLs nicht gefüllt und bleibt leer. – Seelenvirtuose
Ich habe den Original-Link entfernt, der gültig ist, wie weit ist meine Liste nicht gefüllt? Ich habe es nicht verstanden. @Seelenvirtuose – killertoge
Sie initialisieren die Variablen URLs mit einer leeren Liste. Dann haben Sie einen try-catch-Block, in dem Sie zuerst ein 'URL'-Objekt mit einer _malformed_ URL erstellen. Sie erhalten also eine Ausnahme. Und das lässt Ihre Variablen "URLs" unverändert. Nicht mehr und nicht weniger. Fazit: Ausnahmen nicht verschlucken! Drucken Sie zumindest den Stack-Trace: 'e.printStackTrace()'. – Seelenvirtuose