![]() |
![]() |
|
![]() |
![]() |
|
Programmierung Rat & Tat für Programmierer |
![]() |
|
Themen-Optionen | Ansicht |
![]() |
#1 |
Inventar
![]() Registriert seit: 06.04.2001
Alter: 44
Beiträge: 2.343
|
![]() grüzi mitanand!
folgende problemstellung: ich möchte in ein bestehendes .txt file mit einem namen meiner wahl über java gewisse daten zeilenweise abspeichern. wie das geht, ist mir schon klar, problematisch ist nur, daß ich nicht weiß, wie ich es handlen soll, wenn die datei, in die ich schreiben möchte, nicht existiert. da es für den anwender des programms unzumutbar ist, dafür zu sorgen, daß immer eine .txt-datei richtigen namens und komplett leer am richtigen pfad vorhanden ist (bekanntlich gehen realistische programmierer davon aus, daß irgendwann auch ein DAU mit ihrem programm zurechtkommen muß) und es auch praktisch wäre, wenn ich die einzelnen abspeichervorgänge in dateien unterschiedlichen namens vornehmen könnte, müßte ich nun also wissen, wie man in java eine leere .txt-datei gewünschten namens erstellt, in die ich danach meine daten abspeichern kann. danke im voraus für hoffentlich hilfreiche tipps.
____________________________________
"Life is like a box of rockets," said the Marine. "You never know what you´re gonna ret." Then he pulled the trigger of his BFG9000. |
![]() |
![]() |
![]() |
#2 |
Veteran
![]() Registriert seit: 24.04.2002
Beiträge: 278
|
![]() So weit ich weiß, legt Java die Detei beim Aufruf an.
Sprich die Datei muss nicht vorhanden sein. Wenn sie trotzdem vorhanden ist, wird sie überschrieben. Mit public static void main(String[] args) { .... String filename; ...... ...... filename = "C:\\Verzeichnis\\Dateiname.txt"; w = new FileWriter(filename); funktionierts zumindest bei mir. Um in unterschiedlichen Dateinamen abspeichern zu können, würde ich es so machen: Einfach an den Dateinamen das Datum und die Uhrzeit anfügen lassen. Hoffe, ich konnte dir helfen. mfg |
![]() |
![]() |
![]() |
#3 |
Quantensingularität
![]() |
![]() Der FileWriter ist schon ok zum Zeilenweise schreiben. Für das File selbst würde ich allerdings ein java.io.File Object verwenden. Da hast du sehr viele Möglichkeiten zur Filemanipulation wie Überprüfen ob es exisitiert, anlegen, löschen, Directorys erstellen etc.
Willst du Dich frei im File bewegen (also einmal vorne lesen, dan hinten schreiben, dann wieder vorne schreiben ezc.) dann verwende das RandomAccessFile, da muss allderings ein entsprechendes File im Filesytem vorhanden sein.
____________________________________
Was ist klein, grün und dreieckig? Ein kleines grünes Dreieck! Bahnübergänge sind die härtesten Drogen der Welt! Ein Zug und du bist weg! |
![]() |
![]() |
![]() |
#4 | |
Inventar
![]() Registriert seit: 06.04.2001
Alter: 44
Beiträge: 2.343
|
![]() Zitat:
dummerweise wird mir jedoch, wenn ich als savepath einfach ".\\dateiname.txt" angebe, die datei immer in den installationsordner des onestudios\bin abgespeichert, als ob das das homedirectory wäre, was es aber nicht ist! ich habe auch schon probiert, den absoluten pfad des .java-files auszulesen, um ihn als pfadangabe fürs abspeichern dex .txt-files zu verwenden, aber auch da wird mir das bin-verzeichnis angegeben, was aber nicht korrekt ist, weil die java-files woanders liegen.
____________________________________
"Life is like a box of rockets," said the Marine. "You never know what you´re gonna ret." Then he pulled the trigger of his BFG9000. |
|
![]() |
![]() |
![]() |
#5 |
Quantensingularität
![]() |
![]() Filenamen ohne Pfandangabe angeben, dann wird das File im Arbeitsverzeichnis (sprich, von wo du die main-Klasse aufrufst) angelegt.
____________________________________
Was ist klein, grün und dreieckig? Ein kleines grünes Dreieck! Bahnübergänge sind die härtesten Drogen der Welt! Ein Zug und du bist weg! |
![]() |
![]() |
![]() |
#6 | |
Inventar
![]() Registriert seit: 06.04.2001
Alter: 44
Beiträge: 2.343
|
![]() Zitat:
![]() wie gesagt, wenn ich mir den absoluten pfad zu meinen .java-dateien, also dorthin, wo eigentlich das arbeitsverzeichnis sein sollte, ausgeben lasse, bekomme ich wieder diesen onestudio\bin-ordner.
____________________________________
"Life is like a box of rockets," said the Marine. "You never know what you´re gonna ret." Then he pulled the trigger of his BFG9000. |
|
![]() |
![]() |
![]() |
#7 |
Inventar
![]() Registriert seit: 06.04.2001
Alter: 44
Beiträge: 2.343
|
![]() ich habe heute meine java-files auf einem anderen system mit dem jdk.1.3 und forte ausprobiert, dort werden die textdateien direkt im installations-homedirectory von forte abgespeichert, also nicht wie bei mir (jdk1.4 und onestudio=nachfolger von forte) noch im unterverzeichnis "\bin".
trotzdem wird in beiden fällen nicht das tatsächliche arbeitsverzeichnis zum abspeichern hergenommen. würde mich interessieren, wo die abgelegt werden, wenn die java-files nicht über forte/onestudio verarbeitet werden, sondern z.b. über die kommandozeile.
____________________________________
"Life is like a box of rockets," said the Marine. "You never know what you´re gonna ret." Then he pulled the trigger of his BFG9000. |
![]() |
![]() |
![]() |
#8 |
Elite
![]() |
![]() wenn ich mich nicht irre liegt das daran, dass die IDEs die java-apps immer aus einem bestimmten directory ausführen.
bei jbuilder zb ist dies der projektordner selber, die eigentlichen klassen liegen woanders. im normalfall kannst jedoch davon ausgehen, dass das aktuelle verzeichnis das ist, aus dem du java aufgerufen hast am einfachsten jedoch über die konsole nachzuprüfen steht da jetzt überhaupt was sinnvolles drin? ich sollt nicht mehr posten, zu wenig geschlafen
____________________________________
Whoever built humanity left in a major design flaw: it was the tendency to bend at the knees. |
![]() |
![]() |
![]() |
#9 |
Quantensingularität
![]() |
![]() Den Grund hat Who-T schon erwähnt. Die Files liegen in diesen Verzeichnissen, da die IDE´s die Java Programme in diesen Verzeichnissen ausführen. Rufst du die Programme von der Komandozeile auf, so werden die Dateien auch direkt in den jeweiligen Ordner erzeugt.
Alternativ schaue mal, ob du nicht das Verzeichnis in der IDE ändern kannst. Und die 3. Möglichkeit ist die, dass Du getrennt ein Resourcenverzeichnis anlegst und den Pfad dahin absolut angibst.
____________________________________
Was ist klein, grün und dreieckig? Ein kleines grünes Dreieck! Bahnübergänge sind die härtesten Drogen der Welt! Ein Zug und du bist weg! |
![]() |
![]() |
![]() |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
|
|