Problem mit schreiben in .txt datei

Status
Nicht offen für weitere Antworten.

foxy

Aktives Mitglied
Sers Leute habe ein Prob mit schreiben in eine txt datei ...

ich weis nicht was es ist, sonst würde ich ja nicht fragen 🙂
also hab einies schon ausprobiert aber nix hilft ... evtl sieht ja wer das prob
Code:
public class Main
{
	private static Writer fw;
	
	public static void main(String[] args) throws Exception
	{
		try {
			File file = new File("ServerLog.txt");
			SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy kk:mm",
					Locale.GERMAN);

			if (file.canRead() && file.canWrite() && file.exists()) {
				fw = new FileWriter(file);

				GateWayImpl stub = GateWayImpl.getInstance();

				// log auf StdOut

    			RemoteServer.setLog(System.out);

				// NameServer - rmiregistry starten
				try {
					Registry registry = LocateRegistry.createRegistry(Registry.REGISTRY_PORT);

					// ServerProxy bei Namensdienst bekannt machen

					registry.rebind("rmi://localhost:1099/VidServer", stub);

					System.out.println("VidServer angemeldet");
					fw.write("Hochgefahren: "
							+ sdf.format(new Date(System.currentTimeMillis())));

				} catch (Exception e) {
					System.out.println("Da ist ein fehler");
					fw.write("Fehler: " + e + "  "
							+ sdf.format(new Date(System.currentTimeMillis())));
				}

				/*
				 * while (true) { Update up = new Update(); up.abgleich();
				 * 
				 * //bw.write("Update DB: "+ sdf.format(new
				 * Date(System.currentTimeMillis()))); //bw.flush(); }
				 */

			}
		} catch (IOException e) {
			System.out.println(e);
		} finally {
			if (fw != null)
				try {
					fw.close();
				} catch (IOException e) {
				}

		}
	}
	
		
}

ich will das die logs in die txt geschrieben werden ...

mfg[/code]
 
und was ist die Frage?
geht es um diese komplizierte Registry-Geschichte sowie Update und noch lauter unbekannte Sachen?
diese haben nix mit 'Schreiben in Datei zu tun'
um zu testen, ob das läuft, verwende doch einfache System.out.println()

oder geht es gar nicht mit Registry & Co., sonder nur um die Datei?
was hat dann Registry & Co. in dem Code zu suchen?
schreibe einfache Sachen wie "Test", um zu testen, ob das Datei-Schreiben funktioniert

oder funktioniert das einfache Schreiben, aber nun in Verbindung mit den komplizierten Sachen gehts nicht mehr?
dann arbeite schrittweise,
z.B. erstmal nur die Anmeldung an die Registry und Programm beenden,
kommt das in der Datei an?
 
huhu danke erst mal :>

das mit der registry das klappt ... es geht nicht das

fw.write ...

danach steht nichts in der .txt datei drin ... warum auch immer ... bekomme aber auch keine fehlermeldung ...

also der schreibt einfach nicht mit dem fiewriter in die datei -.-
 
schau dir den zweiten Punkt meines ersten Postings an, dann siehst du wie man sowas richtig testet

ansonsten:
vielleicht wird eine andere Datei geschrieben als du dir anschaust?
mit file.getAbsolutePath() erhälst du den absoluten Pfad,
öfer auch mal einfach Dateinamen ändern (ServerLog22.txt),

versuche fw.flush(); vor dem close()

} catch (IOException e) {
}
ist schlecht, gib die Exception aus

prüfe nach dem close() die Dateilänge mit file.length()
 
das mit dem flush habe ich mir auch gedacht, aber bei close flusht der automatisch ...

das mit dem pfad versuche ich mal ob der auch die datei findet ... sollte er aber, da ich ja abfrage ob die datei exsistiert und beschreibbar ist ....


die exception haste recht aber das ist nur ne form sache ... daran liegt es nicht 😉
 
> das mit dem pfad versuche ich mal ob der auch die datei findet ... sollte er aber, da ich ja abfrage ob die datei exsistiert und beschreibbar ist ....

ich meinte nicht, dass das Programm die Datei nicht findet,
sondernd dass das Programm die Datei ordentlich beschreibt,
du dir aber eine andere in einem anderen Verzeichnis anschaust
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben