Fehler beim Textdatei einlesen!?

Schlucki6666

Mitglied
Hallo;
Da ich neu bin im Forum und beim Java-programmieren, möchte ich mich kurz vorstellen:

Mein Name ist Michael und komme aus Ö. Bin knappe 50 und ein Neueinsteiger was das programmieren von APP´s und Java betrifft. Also bitte steinigt mich nicht, wenn ich hier/jetzt eine Frage stelle, die für viele das "einfachste auf der Welt" ist!
Vorweg ich habe das I-Net schon einige Tage nach einer Lösung durchsucht, aber vermutlich sehe ich vor lauter Bäume den Wald nicht mehr, bzw. die sicher vorhandene Lösung (vermutlich mehrfach) überlesen. Also nochmals, übt bitte Nachsicht mit mir :)

Zu meinem Problem:
Ich habe versucht ein kleines Programm zu schreiben, mit dem ich Einträge aus einem TextView (EditView) in eine Datei (*.txt) schreiben kann - per Button - und diese Einträge wieder aus der Datei auslesen möchte - per Button.
Soweit so gut, das Programm läuft auch ohne Fehler.....bis ich auf Speichern oder Lesen drücke!!!
Es wird die Datei nicht gefunden. Es erscheint beim Lesen die Meldung: "not such file or Directory" und beim Schreiben: "Read-only file System"! Es befindet sich auch eine/die Datei an der angegebenen Örtlichkeit!?
Nochmals sorry, ich weis es ist vermutlich nur eine absolute Kleinigkeit, aber wie schon geschrieben, ich sehe offensichtlich vor lauter Bäume den Wald nicht mehr. :bahnhof:


Ich habe euch meine XML und Java Script angefügt und hoffe ihr könnt mir helfen oder sagen wo der Fehler liegt!

Java:
Meine XML einträge:

<LinearLayout
android:id="@+id/widget28"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#ff0000ff"
android:orientation="vertical"
xmlns:android="http://schemas.android.com/apk/res/android"
>
<EditText
android:id="@+id/txtData"
android:layout_width="fill_parent"
android:layout_height="180px"
android:textSize="18sp"  />

<Button
android:id="@+id/btnWriteSDFile"
android:layout_width="143px"
android:layout_height="104px"
android:text="1. Write SD File"  />

<Button
android:id="@+id/btnClearScreen"
android:layout_width="141px"
android:layout_height="102px"
android:text="2. Clear Screen"  />

<Button
android:id="@+id/btnReadSDFile"
android:layout_width="140px"
android:layout_height="102px"
android:text="3. Read SD File"  />

<Button
android:id="@+id/btnClose"
android:layout_width="141px"
android:layout_height="103px"
android:text="4. Close" />

</LinearLayout>

Meine Java Script:
Java:
import java.io.*;
import android.app.Activity;
import android.os.Bundle;
import android.view.*;
import android.view.View.OnClickListener;
import android.widget.*;

public class Dienst_Activity extends Activity {
	// GUI controls
	EditText txtData;
	Button btnWriteSDFile;
	Button btnReadSDFile;
	Button btnClearScreen;
	Button btnClose;

	@Override
	public void onCreate(Bundle savedInstanceState) {
	super.onCreate(savedInstanceState);
	setContentView(R.layout.main);
	// bind GUI elements with local controls
	txtData = (EditText) findViewById(R.id.txtData);
	txtData.setHint("Schreib mal was hier rein");

	btnWriteSDFile = (Button) findViewById(R.id.btnWriteSDFile);
	btnWriteSDFile.setOnClickListener(new OnClickListener() {

	public void onClick(View v) {
		// write on SD card file data in the text box
		try {
			
			File myFile = new File("C:\\Users\\Michael\\Test.txt");
			myFile.createNewFile();
			FileOutputStream fOut = new FileOutputStream(myFile);
			OutputStreamWriter myOutWriter = 
									new OutputStreamWriter(fOut);
			myOutWriter.append(txtData.getText());
			myOutWriter.close();
			fOut.close();
			Toast.makeText(getBaseContext(),
					"Done writing SD 'mysdfile.txt'",
					Toast.LENGTH_SHORT).show();
		} catch (Exception e) {
			Toast.makeText(getBaseContext(), e.getMessage(),
					Toast.LENGTH_SHORT).show();
		}
	}// onClick
	}); // btnWriteSDFile

		btnReadSDFile = (Button) findViewById(R.id.btnReadSDFile);
		btnReadSDFile.setOnClickListener(new OnClickListener() {

		public void onClick(View v) {
			// write on SD card file data in the text box
		try {
			File myFile = new File("C:\\Users\\Michael\\Test.txt");
			FileInputStream fIn = new FileInputStream(myFile);
			BufferedReader myReader = new BufferedReader(
					new InputStreamReader(fIn));
			String aDataRow = "";
			String aBuffer = "";
			while ((aDataRow = myReader.readLine()) != null) {
				aBuffer += aDataRow + "\n";
			}
			txtData.setText(aBuffer);
			myReader.close();
			Toast.makeText(getBaseContext(),
					"Done reading SD 'mysdfile.txt'",
					Toast.LENGTH_SHORT).show();
		} catch (Exception e) {
			Toast.makeText(getBaseContext(), e.getMessage(),
					Toast.LENGTH_SHORT).show();
		}
		}// onClick
		}); // btnReadSDFile

		btnClearScreen = (Button) findViewById(R.id.btnClearScreen);
		btnClearScreen.setOnClickListener(new OnClickListener() {

			public void onClick(View v) {
				// clear text box
				txtData.setText("");
			}
		}); // btnClearScreen

		btnClose = (Button) findViewById(R.id.btnClose);
		btnClose.setOnClickListener(new OnClickListener() {

			public void onClick(View v) {
				
			}
		}); 
	}

}//


lg
Schlucki
 

sti

Mitglied
Hi Michael,

ohne mich länger damit befasst zu haben befürchte ich das du vom Smartphone aus auf :
Java:
File myFile = new File("C:\\Users\\Michael\\Test.txt");

zugreifen willst.
Lokal auf deinem Rechner ausgeführt geht das wahrscheinlich. Auf dem Smartphone hast du zum einen keinen Zugriff auf deinen Pc, aber auch die Dateistruktur eines Androidsmartphones ist vollständig anders.

Du könntest beispielsweise soetwas versuchen:

Java:
// finden der external Storage, da je nach Smartphone auf andre Art und Weise partitioniert
File sdcard = Environment.getExternalStorageDirectory();
// File öffnen
File file = new File(sdcard,"file.txt");

Ich hoffe ich konnte dir ein wenig weiterhelfen.

Wenn Fragen, fragen! :)

Grüße

Sti
 

Schlucki6666

Mitglied
Sti danke für die Antwort, aber das die Struktur auf dem Handy anders ist als am PCs ist mir bekannt. Ich habe den Pfad zur Datei aus der Testversion am PCs genommen. Ergo Programm läuft am PC (virtuelles Handy) daher soll er auch eine Datei (vorerst) vom PC lesen. Hoffe man versteht was ich meine und tue?

Schlucki
 

sti

Mitglied
Selbst die App auf dem Rechner läuft, wie du schon sagtest in einem virtuellen Smartphone welches in seiner eigenen Virtuellen Maschine läuft. Du hast von dort aus, meines Wissens nach keinen Zugriff auf deinen Rechner.

Versuche am besten nicht mit Hard-gecodeten Filepaths zu arbeiten sondern nutze Environment.getExternalStorageDirectory().

Zu Testfällen würde ich eventuell das File in dein Workspace einbinden um Lesen/Schreiben zu testen.


Edit: Es gibt ebenfalls den Fileprovider der die Verwaltung für dich übernimmt. :)
 
Zuletzt bearbeitet:

Schlucki6666

Mitglied
Danke sti!
Bin gerade in der Arbeit, werde aber morgen versuchen mit dem Enviroment...... zum Erfolg zu kommen.
Auch habe ich versucht die Datei im Workspace und dort auch im Projekt zu "integrieren", was ohne Enviroment.... jedenfalls nicht funktionierte.
Naja, mühsam ernährt sich das Eichhörnchen oder langsam werde ich schon zum Erfolg kommen :D

lg
Schlucki
 

Schlucki6666

Mitglied
Dank sti kann ich nun die Textdatei auslesen! Geht aber nur am Handy. In Eclipse (virtuelles Handy) funktioniert es nicht. Ist aber soweit kein Problem ;-)
Wenn ich aber nun die Datei wieder "zurück" speichere/schreibe erhalte ich eine Fehlermeldung!? Ich habe mich im I-Net schlau gemacht, aber es sollte eigentlich mit den nun eingefügten Codezeilen von sti funktionieren.


  1. File sdcard = Environment.getExternalStorageDirectory();
  2. File file = new File(sdcard,"file.txt");
Code wurde bei Zeile 30/31 eingefügt!

Fehlermeldungen sind:
"not such file or Directory" wenn ich einen Text im Textfeld eingeben!
"Read-only file System" wenn ich keinen Text eingegebn habe!
Hat jemand eine Idee worand es liegen könnte?

Danke
Schlucki
 
Zuletzt bearbeitet:

sti

Mitglied
Das klingt mir persönlich stark nach einem Rechteproblem.

Eventuell musst du noch den Zugriff auf die SD-Karte / Speicher im Android Manifest deklarieren.

Code:
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
 

Schlucki6666

Mitglied
@sti;
Danke, du warst etwas schneller als ich :) Habe die vermutliche Ursache (wie du auch vermutest) im WWW gefunden. Lesen bildet oder macht schlau :pfeif:
Jetzt bin ich aber am suchen, da ich gerne die Textdatei in einer ListView ausgeben möchte und nicht im EditText!
Sieht optisch doch etwas professioneller aus :)
Wie ich die ListView erstelle, habe ich schon, ABER die Textdatei hineinzaubern, da stolpere ich noch gewaltig herum ;(

lg
Schlucki
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Arif Android Android Studio: Fehler beim Einbinden fremder Bibliothek? Android & Cross-Platform Mobile Apps 2
JavaWolf165 Android Fehler beim Speichern/Downloaden einer Datei Android & Cross-Platform Mobile Apps 2
M Android Fehler beim Parsen. Android & Cross-Platform Mobile Apps 29
A Mehrere Fehler beim Compilieren Android & Cross-Platform Mobile Apps 4
G Fehler beim Import "Invalid project description" Android & Cross-Platform Mobile Apps 2
A Fehler beim Starten eines Intents - alles in einer Klasse funktioniert... Android & Cross-Platform Mobile Apps 4
S Android Fehler beim Anzeigen meines Apps auf Galaxy Tab Android & Cross-Platform Mobile Apps 4
W Navigation MenuItem Switch Fehler Android & Cross-Platform Mobile Apps 6
J Das Beispiel von Android erzeugt Fehler Android & Cross-Platform Mobile Apps 8
W Volley onDestroy angemeldet bleiben Fehler... unabhänging vom Login Android & Cross-Platform Mobile Apps 37
P undefinierbarer Fehler Android Android & Cross-Platform Mobile Apps 8
M INSTALL_FAILED_OLDER_SDK - Was muß ich tun damit der Fehler verschwindet Android & Cross-Platform Mobile Apps 8
lolcore android studio: fehler bei laden des emulators Android & Cross-Platform Mobile Apps 10
T Fehler Android Studio: java.net.MalformedURLException: no protocol: http%3A%2F%2Fwww.mal ..... Android & Cross-Platform Mobile Apps 2
J error: <identifier> expected error: illegal start of type "Wo ist der Fehler?" Android & Cross-Platform Mobile Apps 5
G Gluon Fehler Meldung Android & Cross-Platform Mobile Apps 4
B Android App Fehler Android & Cross-Platform Mobile Apps 21
R Android Wie kann ich diesen Fehler beheben? Android & Cross-Platform Mobile Apps 10
S IF Anweisung zeigt Fehler trotz richtiger Eingabe? Android & Cross-Platform Mobile Apps 7
H Fehler bei leerem TextEdit Android & Cross-Platform Mobile Apps 4
H Fehler Actionbar Theme ändern Android & Cross-Platform Mobile Apps 2
J Wo liegt der Fehler? Android & Cross-Platform Mobile Apps 0
M Fehler ohne Sinn? java.lang.RuntimeException: Unable to start activity ComponentInfo Android & Cross-Platform Mobile Apps 11
C Java ME Fehler JSR-172 Android & Cross-Platform Mobile Apps 3
F Bilder in Java importieren (Fehler?) Android & Cross-Platform Mobile Apps 5
Apo Android Dx bad class Fehler Android & Cross-Platform Mobile Apps 4
F Android Fehler in Spinner Android & Cross-Platform Mobile Apps 3
J Fehler: Unbehandelte Ausnahme Android & Cross-Platform Mobile Apps 8
A Midlet bei Fehler elegant beenden mit Fehlermeldung Android & Cross-Platform Mobile Apps 4
S Compiler Fehler Android & Cross-Platform Mobile Apps 2
B Fehler bei Midlet installation? "Aktion Abgebrochen&quo Android & Cross-Platform Mobile Apps 10
R Android Löschfunktion beim Wischen Android & Cross-Platform Mobile Apps 10
W Rand ändern beim ImageView bei Picasso Android & Cross-Platform Mobile Apps 1
L App stürtzt ab beim öffnen Android & Cross-Platform Mobile Apps 1
S Android Probleme beim Verbinden mit einer HTTPS Seite Android & Cross-Platform Mobile Apps 4
V Android Fehlermeldung beim Öffnen von Eclipse nach Installation der Android Erweiterung Android & Cross-Platform Mobile Apps 4
M Error beim drücken der Zurück-Taste am Handy Android & Cross-Platform Mobile Apps 2
A Fehlermeldung beim ändern der ViewGroup. Android & Cross-Platform Mobile Apps 6
H Buttons färben sich mit, beim Hintergrund ändern Android & Cross-Platform Mobile Apps 3
G Problem beim Rendern von 3D-Objekt Android & Cross-Platform Mobile Apps 0
L Android OutOfMemory beim erneuten Starten der App Android & Cross-Platform Mobile Apps 2
N Android Retain Dialog verschwindet beim drehen Android & Cross-Platform Mobile Apps 4
B Android GameLoopThread stürzt beim 2ten start der App ab? Android & Cross-Platform Mobile Apps 4
K Nullpointer beim Löschen von Datenbankeintrag, je nachdem wo der Befehl steht Android & Cross-Platform Mobile Apps 5
S Java ME Exception beim Abspielen von Musik Android & Cross-Platform Mobile Apps 6
G unterschiedliches Verhalten beim Installieren des App auf dem Smartphone Android & Cross-Platform Mobile Apps 3
K Android schwarzer Bildschirm beim Rendern von Text und Dreiecken Android & Cross-Platform Mobile Apps 9
DaniSahne96 Problem beim Appdebuggen auf Smartphone Android & Cross-Platform Mobile Apps 3
P Android Problem beim Widget - Denkfehler ? Android & Cross-Platform Mobile Apps 2
J Android Verhalten beim Hinzufügen neuer Views? Android & Cross-Platform Mobile Apps 6
G Beziehung von THIS beim Imageadapter und AsyncTask Android & Cross-Platform Mobile Apps 7
V [Java] und [JavaME] ClientServer StreamConnection . Problem beim lesen / schreiben Android & Cross-Platform Mobile Apps 2
R Ein Problem beim ausführen von folgendem Quelltext Android & Cross-Platform Mobile Apps 11
N Error in HTTP operation beim KXML parsen Android & Cross-Platform Mobile Apps 7
A Problem beim Subtrahieren eines Double von einem Double Android & Cross-Platform Mobile Apps 5
G fehldermeldung beim klicken auf "build" Android & Cross-Platform Mobile Apps 8
L SecurityException beim lesen/schreiben eine Datei Android & Cross-Platform Mobile Apps 7
F Problem beim Erstellen der Jar File Android & Cross-Platform Mobile Apps 4
S createPlayer beim Entwickeln Android & Cross-Platform Mobile Apps 6
T Lesen / Schreiben einer Textdatei - SD-Karte Android & Cross-Platform Mobile Apps 42
B Android Textdatei laden (klappt nicht) Android & Cross-Platform Mobile Apps 4
S Textdatei in ListView einlesen Tutorial gesucht!? Android & Cross-Platform Mobile Apps 3
J Android Textdatei aus dem Internet auslesen und ausgeben Android & Cross-Platform Mobile Apps 2
X Textdatei aus Assets lesen Android & Cross-Platform Mobile Apps 5
B Inhalt von StringBuffer in Textdatei speichern? Android & Cross-Platform Mobile Apps 6
B Java ME Textdatei zeilenweise lesen? Android & Cross-Platform Mobile Apps 5
B Textdatei auf Handy erstellen / lesen / schreiben? Android & Cross-Platform Mobile Apps 2

Ähnliche Java Themen

Neue Themen


Oben