Textdatei auslesen, die gerade benutzt wird

jackjava

Neues Mitglied
Hallo!

Folgendes Problem: Ich möchte eine Logfile auslesen, die von einer 3rd-Party-Anwendung geschrieben wird. Sobald man die Anwendung startet, wird eine neue Logfile erstellt und diese bleibt solang geöffnet bis die Anwendung beendet wird. Während dieser Zeit ist es nicht möglich die Logfile mit Notepad zu öffnen. FileInputStream und RandomAccessFile führen direkt zu Exceptions mit der Begleitinformation, dass die Datei bereits von einem anderen Prozess verwendet wird. Nachdem was ich bei meinen Recherchen gelesen habe, ist die Datei vermutlich von dem Prozess gelockt, oder? (Ich habe mit Unlocker getestet und die entsprechende Logdatei wird angezeigt, jedoch war es mir nicht möglich sie zu unlocken.)

Nun ist meine Frage, ob es irgendeinen Weg in Java gibt die Datei auszulesen (oder zu kopieren und dann auszulesen)? Mein Ziel ist es die Datei in bestimmten Intervallen zu parsen und Informationen zu sammeln. Jedoch scheitere ich schon komplett an dem Zugriff auf die Datei. Ich habe keinen SourceCode von der 3rd-Party-Anwendung. Es handelt sich um eine Windows-Anwendung.

Vielen Dank schonmal für die Mühe!
Gruß

JJ
 
Zuletzt bearbeitet:
G

Gonzo17

Gast
Hm, du musst ja nicht den Sourcecode haben, aber vielleicht gibts ne API für diese Anwendung?
 

Bile Demon

Bekanntes Mitglied
Leider kann ich dir bei deinem Problem auf Anhieb nicht helfen. Ich habe mich vor kurzem selbst maßlos über FileLocks geärgert und musste leider akzeptieren, dass das Betriebssystem immer das letzte Wort hat.

Schon immer fällt es mir schwer zu verstehen, dass eine Datei für Lesezugriffe gesperrt sein kann, wenn ein anderes Programm darauf schreibend zugreift. Dass man gleichzeitige Schreibzugriffe verhindern muss, das ist logisch. Aber eine Datei muss doch für mich immer lesbar sein (natürlich sofern die Benutzerrechte passen).
 
S

Spacerat

Gast
Greifen Unlocker nicht nur bei Dateien, bei denen die Anwendung die sie verwenden abgestürzt ist, bevor sie diese Datei geschlossen haben? Das Lock bleibt dann erhalten und das BS hat noch den Daumen drauf. Bei Dateien laufender Anwendungen funktioniert das afaik gar nicht.
[EDIT]Soweit ich weis, gibt es kein einziges DOS (Disk Operating System) bei dem man ein und dieselbe Datei mehrfach öffnen kann. Sogar die 1541 (C64) seinerzeit mochte das nicht.[/EDIT]
 
Zuletzt bearbeitet von einem Moderator:
L

Log-File

Gast
Das Thema hatten wir doch erst vorgestern ... nutzt doch bitte mal GooGLe und SuFu ...

Vielleicht sollte man sich erstmal fragen : WARUM ÜBERHAUPT ? muss man das Log-File während der Runtime der App lesen ? Das ergibt in den wenigstens Fällen überhaupt einen Sinn, und da wo es Sinn macht gibt es meist APIs um direkt an die Daten zu kommen (meistens Pipes).
 

VfL_Freak

Top Contributor
Moin,

Sobald man die Anwendung startet, wird eine neue Logfile erstellt und diese bleibt solang geöffnet bis die Anwendung beendet wird. Während dieser Zeit ist es nicht möglich die Logfile mit Notepad zu öffnen.
Wenn ich Dich richtig verstehe, ist das doch das normale Verhalten des OS.
Wenn Dein LogFile von Deiner Applikation geöffnet bleibt, kommen andere Programme da halt nicht dran !

Warum muss sie denn die ganze Zeit offen bleiben ?

Gruß
Klaus
 

jackjava

Neues Mitglied
Der Punkt ist folgender: die 3rd-Party-Anwendung ist ein Spiel, und wenn man es startet, dann wird eine Logfile erstellt, die permament gelockt ist bis man das Spiel beendet, warum, das weiss ich nicht. API gibt es definitiv nicht. Was ich machen möchte: eine Anwendung schreiben, die erkennt, wenn ich ein Multiplayermatch joine um dann die Namen meiner Mitspieler auszulesen und danach eine Abfrage an eine öffentliche Datenbank zu stellen über ihre Spielstatistiken.
Das Auslesen dieser Logfile hätte mir genau die Informationen geliefert (den Teil mit der Abfrage der DB habe ich bereits). Jedoch bringt es mir nichts mehr die Logfile dann auszulesen, wenn das Spiel beendet ist, weil dann brauch ich die Statistiken meiner Mitspieler auch nicht mehr.
Ich weiss, dass in diesem Fall das Auslesen einer Logfile keine elegante oder effiziente Methode ist um das Problem zu lösen, aber ich bin zu dem auch nicht so extrem fit im Programmieren.
Falls jemand andere Lösungsvorschläge hat, dann wäre ich dankbar.

Gruß und danke!
 

VfL_Freak

Top Contributor
Moin,

ob es dafür bessere Wege gibt, kan nicht Dir so nicht sagen!

Idee: Du könntest mal versuchen, vom Logfile eine Kopie mit anderem Namen zu speichern und diese dann auszulesen. Ich weiß, dass das auf Systemebeme geht ...

Gruß
Klaus
 
L

Log-File

Gast
Der Punkt ist folgender: die 3rd-Party-Anwendung ist ein Spiel, und wenn man es startet, dann wird eine Logfile erstellt, die permament gelockt ist bis man das Spiel beendet, warum, das weiss ich nicht. API gibt es definitiv nicht. Was ich machen möchte: eine Anwendung schreiben, die erkennt, wenn ich ein Multiplayermatch joine um dann die Namen meiner Mitspieler auszulesen und danach eine Abfrage an eine öffentliche Datenbank zu stellen über ihre Spielstatistiken.
Das Auslesen dieser Logfile hätte mir genau die Informationen geliefert (den Teil mit der Abfrage der DB habe ich bereits). Jedoch bringt es mir nichts mehr die Logfile dann auszulesen, wenn das Spiel beendet ist, weil dann brauch ich die Statistiken meiner Mitspieler auch nicht mehr.
Ich weiss, dass in diesem Fall das Auslesen einer Logfile keine elegante oder effiziente Methode ist um das Problem zu lösen, aber ich bin zu dem auch nicht so extrem fit im Programmieren.
Falls jemand andere Lösungsvorschläge hat, dann wäre ich dankbar.

Gruß und danke!

Also für sowas ist Java eine der wohl schlechtesten Sprachen die man dafür wählen könnte (ich glaube noch stumpfer wäre nur noch PHP).
Du könntest mit JNI/JNA einen Hook für das Game schreiben, hat aber extrem viel mit reverse-engineering zu tun und ist in den meisten Fällen den Aufwand auch nicht wert. Außerdem müsstest du das Ganze dann eh in C/C++ schreiben ... dann brauchst du eh kein Java mehr wenns nur um das callen der Methoden geht. Da wäre es sinnvoller gleich alles in C/C++ zu schreiben. (Es dürften sich dafür auch andere Sprachen eignen, aber Java ist hier definitiv die falsche Wahl.)

Mal davon abgesehen kann ich mir nur schwer vorstellen das du wenn du dich in das Multiplayer-Game inklinkst nicht die Zeit hast nebenbei mal eben schnell selbst die paar Playernamen rauszuschreiben und meinetwegen über ein Frontend die Datenbank abzufragen. Ich denke das hier ein "Programm" was das mal eben machen soll ziemlicher overkill ist. Weil : selbst wenn du es schaffen solltest : wie stellst du die Daten sinnvoll dar ? Sicher in einer Art und Weise die für dich wertvolle Informationen enthält, aber nur weil das mal eben in ein paar Sekunden gehen würde anstatt selbst die Playernamen in der Datenbank zu hinterfragen was etwas länger dauert .... hmm ... ich denke alleine die Idee ist schon ziemlich Banane.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Bestimmte Zeile aus Textdatei auslesen Allgemeine Java-Themen 18
W Auslesen von Textdatei Allgemeine Java-Themen 16
B Textdatei Zeilen auslesen Allgemeine Java-Themen 7
K Textdatei komplett auslesen bis auf 2 Zeilen Allgemeine Java-Themen 2
W Auslesen einer Textdatei Allgemeine Java-Themen 2
D HILFE - Textdatei im jar auslesen Allgemeine Java-Themen 10
T Auslesen und schreiben in eine Textdatei.HILFE!HILFE! Allgemeine Java-Themen 23
M Textdatei auslesen / schreiben (Server) Allgemeine Java-Themen 9
G 2 zeilen in textdatei beim auslesen verbinden Allgemeine Java-Themen 10
G auslesen einer Textdatei Allgemeine Java-Themen 2
O Text aus einer Textdatei rausholen, der zwischen zwei Schlüsselworten steht Allgemeine Java-Themen 4
S Textdatei statt von Dateisystem aus .jar lesen Allgemeine Java-Themen 3
curranux Ausgabe als Textdatei schreiben. Allgemeine Java-Themen 2
killig Textdatei einlesen und in HashMap speichern (duplikate entfernen) Allgemeine Java-Themen 12
B Scanner erkennt keinen Text in Textdatei, obwohl welcher drinsteht Allgemeine Java-Themen 10
M In Textdatei schreiben Allgemeine Java-Themen 3
F Problem beim Einlesen einer Textdatei Allgemeine Java-Themen 12
OnDemand Download Textdatei falsches Charset Allgemeine Java-Themen 1
K Textdatei als Objekt Allgemeine Java-Themen 4
O JAR Export Textdatei benutze Allgemeine Java-Themen 14
stylegangsta Mehrere html seiten einer Homepage einlesen und als Textdatei ausgeben Allgemeine Java-Themen 14
L Filewriter schreibt Zahlen in Textdatei Allgemeine Java-Themen 2
D Input/Output Zeilen werden "ignoriert" beim Einlesen aus einer Textdatei Allgemeine Java-Themen 3
T Synchronisation einer Textdatei im Groupshare Allgemeine Java-Themen 1
I String einer Textdatei anfügen Allgemeine Java-Themen 2
S Von Wav Datei mit Morsecode in Morsecode als Textdatei Allgemeine Java-Themen 2
R Duplikate aus einer Textdatei entfernen? Allgemeine Java-Themen 20
K Input/Output Ausgabe in Textdatei Allgemeine Java-Themen 7
Iron Monkey Inhalt von JTable in die Textdatei mit StringWidth schreiben Allgemeine Java-Themen 3
P Textdatei aus Ressourcen laden. Allgemeine Java-Themen 8
M gleichzeitiger Zugriff auf eine Textdatei Allgemeine Java-Themen 6
S TextDatei in Panel anzeigen Allgemeine Java-Themen 10
X Textdatei auf gewünschte Anzahl der Zeilen kürzen Allgemeine Java-Themen 2
S Input/Output Latin-9 (ISO 8859-15) Textdatei einlesen Allgemeine Java-Themen 2
L Input/Output Textdatei in Objekte überführen? Allgemeine Java-Themen 4
F In mitten einer Textdatei schreiben Allgemeine Java-Themen 7
N Textdatei in Jar Problem Allgemeine Java-Themen 6
B Leerzeile in Textdatei Allgemeine Java-Themen 3
E BlueJ Daten in Textdatei schreiben Allgemeine Java-Themen 21
D große Textdatei filtern Allgemeine Java-Themen 13
H Textdatei (1GB) einlesen und verarbeiten Allgemeine Java-Themen 15
S String verschlüsselt in Textdatei speichern Allgemeine Java-Themen 3
E Text ans Ende einer Textdatei anfügen Allgemeine Java-Themen 2
Balbes Dateipfad in den JFileChooser aus Textdatei einlesen Allgemeine Java-Themen 7
S Textdatei mit externen Editor öffnen Allgemeine Java-Themen 8
G Textdatei einlesen unter Windows 7 Allgemeine Java-Themen 4
A Textdatei im Applet einlesen Allgemeine Java-Themen 2
C Textdatei einlesen Allgemeine Java-Themen 3
L Textdatei nach Wörter durchsuchen Allgemeine Java-Themen 3
Psypsy Bits in Textdatei und zurück Allgemeine Java-Themen 3
A Zeilen aus einer Textdatei löschen Allgemeine Java-Themen 6
ModellbahnerTT Problem: Schleife über Textdatei Allgemeine Java-Themen 5
G Mit FileWriter in Textdatei über jar Allgemeine Java-Themen 4
E textdatei über "öffnen mit" aufrufen Allgemeine Java-Themen 6
A Objekte in Textdatei weiterschreiben Allgemeine Java-Themen 5
D Textdatei umbenennen Allgemeine Java-Themen 2
C Software für Windows PC mit integierter Db oder Textdatei? Allgemeine Java-Themen 19
D Zeilenvorschub aus einer Textdatei rausnehmen Allgemeine Java-Themen 11
J Textdatei oder doch DB? Allgemeine Java-Themen 2
T GUI mit DB oder Textdatei? Allgemeine Java-Themen 11
G Textdatei in String einlesen Allgemeine Java-Themen 2
M Inhalt von Textdatei in Spinner Allgemeine Java-Themen 5
M neue Textdatei DOS/Unix-Format Allgemeine Java-Themen 11
E Zeilenumbruch in einer Textdatei Allgemeine Java-Themen 2
E Zeilenbumbruch in einer Textdatei Allgemeine Java-Themen 3
D Textdatei und JTextArea Allgemeine Java-Themen 5
M Worte aus Textdatei mit Java ersetzen Allgemeine Java-Themen 4
G Unterscheidung: Binär- oder Textdatei Allgemeine Java-Themen 13
B Zeilenumbruch bei Schreiben einer Textdatei Allgemeine Java-Themen 10
M Textdatei per Request lesen? Allgemeine Java-Themen 2
L Textdatei einlesen und verändern Allgemeine Java-Themen 3
M Problem: Textdatei einlesen Allgemeine Java-Themen 2
Y Einlesen & Ausgeben einer Textdatei _2 Allgemeine Java-Themen 3
Y Einlesen & Ausgeben einer Textdatei Allgemeine Java-Themen 5
M Fehler beim öffnen einer 20 mb Textdatei im sign. Applet Allgemeine Java-Themen 5
byte Erste Zeile einer Textdatei entfernen Allgemeine Java-Themen 5
G Eingaben in Textdatei speichern Allgemeine Java-Themen 5
P Einlesen einer Textdatei Allgemeine Java-Themen 8
P Problem beim "spliten" eine Textdatei Allgemeine Java-Themen 3
T jar + Textdatei Allgemeine Java-Themen 2
X Bestimmtes Muster in Textdatei verändern Allgemeine Java-Themen 13
G Inhalt einer Textdatei in eine AWT List schreiben Allgemeine Java-Themen 3
E Source-Code aus einer Textdatei kompilieren und ausführen Allgemeine Java-Themen 4
D Textdatei zeilenweise einlesen Allgemeine Java-Themen 2
L Input/Output Email mit großer Pdf Anhang auslesen? Allgemeine Java-Themen 7
Ernesto95 HTTP Mit JavaScript erzeugte dynamische Webseite auslesen und nach einem Schlüsselwort durchsuchen Allgemeine Java-Themen 6
K Bildschirm auslesen/ Text erkennen Allgemeine Java-Themen 5
torresbig Url nach Webseiten-Login auslesen & Daten an Webseite senden Allgemeine Java-Themen 9
S .exe Datei/Programm auslesen? Allgemeine Java-Themen 2
T INI - Einträge auslesen Allgemeine Java-Themen 6
H Auslesen eines (LDAP-)Attributs in Active Directory Allgemeine Java-Themen 2
O PDF auslesen und verändern, was ist besser iText oder PDFBox ? Allgemeine Java-Themen 9
Robertop Status von Caps- und NumLock auslesen Allgemeine Java-Themen 1
Master3000 Java Konsole über Buffered Reader Zeilenweise auslesen ? Allgemeine Java-Themen 26
G Mac Package auslesen Allgemeine Java-Themen 17
W Versionsnummer auslesen - Regex ist zickig Allgemeine Java-Themen 2
F Junit Test + Cucumber - JSON auslesen und in einem weiteren Schritt nutzen Allgemeine Java-Themen 0
M verschiedene Dokumente auslesen Allgemeine Java-Themen 1
Gaudimagspam CSV-Datei auslesen in Java Allgemeine Java-Themen 7
L Dateien richtig auslesen Allgemeine Java-Themen 6

Ähnliche Java Themen


Oben