Datei lesen

Status
Nicht offen für weitere Antworten.

fuwa

Mitglied
Hallo zusammen,
ich möchte aus einer Logdatei zeilenweise lesen, die LogDatei ist von der entsprechenden Anwendung noch gebunden. Ist es trotzdem möglich auf diese Datei lesend zuzugreifen, wenn ja wie? Es wäre nämlich nicht sehr komfortabel wenn die Applikation jedes Mal gestoppt werden müsste, damit man die Logdatei lesen kann.
Ich habe es schon mit einem FileInputStream versucht bekomme aber folgende Fehlermeldung:
Code:
java.io.FileNotFoundException: C:\Projekt\Insight\tm1smsg.log (Der Prozess kann nicht auf die Datei zugreifen, da sie von einem anderen Prozess verwendet wird)
Ich danke für eure Antworten.

Mit freundlichen Grüßen
Markus Eberhard
 

The_S

Top Contributor
Soweit ich weiß kannst du nicht auf Dateien zugreifen die von einer anderen Anwendung zZ. verwendet werden. Aber wenn die Log-Datei schon fertig geschrieben ist (ist sie das!?) warum greift dann das erzeugende Programme noch darauf zu?
 

Ilja

Bekanntes Mitglied
programme setzen einen exclusive-flag auf die dateien, die
grade für den schreibmodus geöfnet sind... windows erlaubt dann keinen weiteren zugrff auf diese datieien!
du mußt eine kopie der datei anlegen, um diese dann auszulesen - anschließend zu löschen!
 

fuwa

Mitglied
Warum die Anwendung die ganze Zeit zugreift, weiß ich nicht, Die Anwendung ist nicht von mir, möchte nur die LogEinträge hübsch darstellen und sollte daher auf die Datei zugreifen. Die Anwendung die die Logs erzeugt läuft als Windows-Service
 

MPW

Top Contributor
Ilja hat gesagt.:
programme setzen einen exclusive-flag auf die dateien, die
grade für den schreibmodus geöfnet sind... windows erlaubt dann keinen weiteren zugrff auf diese datieien!
du mußt eine kopie der datei anlegen, um diese dann auszulesen - anschließend zu löschen!

Genauso machen Microsofteigene Programme das ja auch, z.B. WinWord oder so....

Allerdings müsste man mal schauen ob das mit Java geht.
 

fuwa

Mitglied
Hallo,
versuche die Datei mit nachstehendem Code zu kopieren:
Code:
public void copyFile(File src, File dest, int bufSize, boolean force) throws IOException 
   {
      if(dest.exists()) 
      {
         if(force) 
         {
            dest.delete();
         } 
         else 
         {
            throw new IOException("Cannot overwrite existing file: " + dest.getName());
         }
      }
      byte[] buffer = new byte[bufSize];
      int read = 0;
      InputStream in = null;
      OutputStream out = null;
      try 
      {
         in = new FileInputStream(src);
         out = new FileOutputStream(dest);
         while(true) 
         {
            read = in.read(buffer);
            if (read == -1) 
            {
               //-1 bedeutet EOF
               break;
            }
            out.write(buffer, 0, read);
         }
      } 
      finally 
      {
         // Sicherstellen, dass die Streams auch
         // bei einem throw geschlossen werden.
         // Falls in null ist, ist out auch null!
         if (in != null) 
         {
            //Falls tatsächlich in.close() und out.close()
            //Exceptions werfen, die jenige von 'out' geworfen wird.
            try 
            {
               in.close();
            }
            finally 
            {
               if (out != null) 
               {
                  out.close();
               }
            }
         }
      }
   }

bekomme aber wieder die oben genannte Exception. Wie kann ich dennoch auf die Datei zugreifen.

Danke Markus
 

MPW

Top Contributor
Wo genau erstellst du denn die Kopie der Datei?
dest ist die Kopie?
Wird denn die Kopie sauber gemacht? Auf die Kopie zuzugreifen sollte ja kein Problem sein....

Du solltest mal die IOException differenzieren, IOException selber ist ja recht pauschal, vielleicht steckt auch was anderes dahinter? FileNotFound oder so und du hast dich bloß verippt?
 

fuwa

Mitglied
Es geht vorallem um den Teil:

Der Prozess kann nicht auf die Datei zugreifen, da sie von einem anderen Prozess verwendet wird

Und die Exception bekomm ich sobald ich mit einem InputStream auf die Datei zugreifen will, die Datei wird wie schon beschrieben von einer anderen Applikation verwendet und ich bekomme keinen Zugriff darauf. Die Applikation blockiert den Zugriff dauerhaft (solange der Service läuft).

Und nun ist mein Problem irgendwie trotzdem Lesezugriff zu erhalten.

Danke Markus
 

Bleiglanz

Gesperrter Benutzer
auf was für einem Rechner läuft das böse Programm

=> nimm das Datensicherungstool und lass dir alle X Stunden ein Backup der Datei machen, unter Windows Server funktioniert das auf jeden Fall
 

MPW

Top Contributor
Hallo,

ich hab' jetzt mal einen Test gemacht, und zwar ein Programm, was in eine Datei schreibt und eines das Liest....

Und das klappt wunderbar. Die Datei die du lesen willst, muss irgendwie besonders geschützt sein:

Code:
import java.io.FileWriter;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;

class Write implements Runnable {
	static BufferedWriter f;
	public Write() {
		new Thread(this).start();
	}
	public static void main(String args[]) {
		new Write();
		try {
			f = new BufferedWriter(new FileWriter("Test.txt"));
			while (true) {
				String s = new Double(Math.random()*1000).toString();
				f.write(s);
				System.out.println(s);
				f.newLine();
			}
		} catch (IOException e) {
		}
	}
	public void run() {
		try {
			InputStreamReader in = new InputStreamReader(System.in);
			in.read();
			f.close();
			System.exit(0);
		} catch (IOException e) {
			System.out.println("Thread ist abgeschmiert");
		}
	}
}

^^Das Programm was schreibt. (Es kann durch enter unterbrochen werden.)
Und nun das Programm was liest, es bekommt als Parameter dann noch "Text.txt":

Code:
import java.io.FileReader;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.FileNotFoundException;

class ReadFile {
	public static void main(String args[]) {
		BufferedReader in;
		try {
			in = new BufferedReader(new FileReader(args[0]));
			String l = "";
			while ((l = in.readLine()) != null) {
				System.out.println(l);
			}
                                                in.close();
		} catch (ArrayIndexOutOfBoundsException e) {
			System.out.println("Bitte einen Dateinamen angeben");
		} catch (FileNotFoundException e) {
			System.out.println("Der angegebene Dateiname ist ungültig");
		} catch (IOException e) {
			System.out.print("Es ist eine IOException aufgetreten: ");
			System.out.println(e);
		}
	}
}

So, das klappt soweit wunderbar....Also natürlich gleichzeitig^^.

Du müsstest dir mal die Properties deiner Logdatei angucken, ist die Versteckt oder so?

[edit:] Peinlich, ein close() vergessen...
 

MPW

Top Contributor
ähm, ich hab' da mal so zwei Fragen:

- Welcher Service ist das?
- Kannst du die Datei mit Word oder einem TextEditor öffnen?
 

fuwa

Mitglied
Es handelt sich um den TM1 Server von Applix, und die Logdateien kann ich auch nicht mit einem Editor öffnen.
 

MPW

Top Contributor
Also ich fürchte, dass du dann da nicht rankommen wirst, wenn selbst ein stinknormaler Editor scheitert.

Du musst wohl oder übel es so machen, dass das Ding jedesmal beendet wird.

Mal eine andere Frage, was macht der denn eigentlich, ich kenne weder die Firma Applix noch TM1.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
H Scripte oder Programmcode aus Datei lesen? Java Basics - Anfänger-Themen 5
S Zufällige ungerade Zeile aus Text-Datei lesen Java Basics - Anfänger-Themen 5
J Lesen und schreiben in eine Datei(Anfänger- Dateizugriffe) Java Basics - Anfänger-Themen 3
S JSON Datei schreiben und lesen Java Basics - Anfänger-Themen 3
G Excle datei aus resources folder finden und lesen Java Basics - Anfänger-Themen 5
J Datei aus Projektfolder lesen Java Basics - Anfänger-Themen 12
B Aus Datei lesen Java Basics - Anfänger-Themen 23
B Aus Datei lesen Java Basics - Anfänger-Themen 0
C Input/Output Datei aus Startverzeichnis lesen Java Basics - Anfänger-Themen 6
G Input/Output Aus txt-Datei lesen, aus Ordner Java Basics - Anfänger-Themen 1
MaxG. Input/Output Datei lesen Java Basics - Anfänger-Themen 3
H Aus wav-datei lesen und in neue wav-datei speichern Java Basics - Anfänger-Themen 10
D Methoden Array aus Datei lesen und weitergeben? Java Basics - Anfänger-Themen 7
G tga Datei lesen und in eine matrix umwandeln Java Basics - Anfänger-Themen 1
G Bis zu einem bestimmten Punkt aus Datei lesen Java Basics - Anfänger-Themen 2
K Mit Scanner aus einer txt Datei lesen und jede Person mit name, vorname, geburtsdatum speichern Java Basics - Anfänger-Themen 5
E Input/Output Property-Datei aus einer Zip lesen in in einer anderen Zip-Datei ist Java Basics - Anfänger-Themen 3
D Lesen aus Datei (java.util.NoSuchElementException) Java Basics - Anfänger-Themen 22
D Problem beim Lesen einer txt-Datei Java Basics - Anfänger-Themen 8
J Aus Datei lesen und ausgeben Java Basics - Anfänger-Themen 4
N Bestimmte Inhalte aus Datei lesen Java Basics - Anfänger-Themen 11
G Datei zeilenweise lesen Java Basics - Anfänger-Themen 19
M Wie sämtliche Schlüssel und Attibutwerte aus einer Propertie Datei lesen? Java Basics - Anfänger-Themen 3
S Compiler-Fehler jOpenDocument Kompelierfehler - ODS Datei lesen Java Basics - Anfänger-Themen 2
T BufferReader soll datei mehrmals lesen Java Basics - Anfänger-Themen 13
S Datei aus JAR lesen. Java Basics - Anfänger-Themen 9
Z Problem beim Lesen und Schreiben einer Datei Java Basics - Anfänger-Themen 10
M Input/Output Viele short aus Datei lesen und von Little Endian zu Big Endian umwandeln Java Basics - Anfänger-Themen 12
J Können mehere Threads parallel eine Datei lesen? Java Basics - Anfänger-Themen 4
A Eine Datei Lesen und bestimmte Position überschreiben Java Basics - Anfänger-Themen 2
S Input/Output aus Datei lesen Java Basics - Anfänger-Themen 6
A Datei relativ zur Lage des jar-files lesen Java Basics - Anfänger-Themen 16
Gossi Input/Output .csv Datei wird beim Lesen bearbeitet? Java Basics - Anfänger-Themen 8
C Wörter aus einer txt datei lesen Java Basics - Anfänger-Themen 19
E txt Datei schreiben und lesen Java Basics - Anfänger-Themen 9
T Datei über das Netz lesen Java Basics - Anfänger-Themen 2
W Aus Datei lesen Java Basics - Anfänger-Themen 15
Gossi Input/Output Datei Lesen, inhalt abfragen, speichern Java Basics - Anfänger-Themen 5
F Kann RandomAccessFile Zip Datei lesen? Java Basics - Anfänger-Themen 14
M Aus CSV-Datei lesen und anzeigen (bitte schnell um Antwort) Java Basics - Anfänger-Themen 6
J UTF8 txt-Datei lesen Java Basics - Anfänger-Themen 13
A Datei Lesen und Schreiben in gleichen Klasse Java Basics - Anfänger-Themen 3
Haubitze_Broese aus einer Datei lesen? Java Basics - Anfänger-Themen 6
S Array Daten in Binär Datei schreiben/lesen Java Basics - Anfänger-Themen 11
K aus Datei lesen Java Basics - Anfänger-Themen 3
S Datei lesen Java Basics - Anfänger-Themen 27
M line.separator: Problem beim Lesen einer Datei Java Basics - Anfänger-Themen 11
K Text aus einem Datei lesen , und im JTextArea ausgeben. Java Basics - Anfänger-Themen 3
Ollek Bestimmte Zeilen aus einer HTML Datei lesen Java Basics - Anfänger-Themen 8
calzone FileReader, lesen ohne die Datei zu überschreiben? Java Basics - Anfänger-Themen 3
J Problem mit Datei lesen und schreiben Java Basics - Anfänger-Themen 8
M Datei Lesen Und Schreiben! -.- Java Basics - Anfänger-Themen 7
fbn Datei als Ganzes lesen (nicht zeilenweise) Java Basics - Anfänger-Themen 8
M Probleme mit dem Lesen einer m3u-Datei Java Basics - Anfänger-Themen 8
H Datei zeilenweise rückwärts lesen Java Basics - Anfänger-Themen 9
M Delphi-Record mit Java aus Datei lesen Java Basics - Anfänger-Themen 11
R Sequentielle Datei lesen und schreiben Java Basics - Anfänger-Themen 5
G FileInputStream--> Zahlen aus Datei lesen Java Basics - Anfänger-Themen 7
S Aus Datei lesen und im Array speichern Java Basics - Anfänger-Themen 2
J Datei lesen und in Array speichern Java Basics - Anfänger-Themen 5
G (csv)Datei lesen FindBug findet mgl. NullPointer - wie lösen Java Basics - Anfänger-Themen 3
P Teile aus Datei lesen und zus mit Strings in Datei speichern Java Basics - Anfänger-Themen 4
D excel datei Spalten lesen? Java Basics - Anfänger-Themen 7
J Kommandos aus Datei lesen Java Basics - Anfänger-Themen 13
J Datei zeilenweise lesen. Java Basics - Anfänger-Themen 4
S Werte aus Datei lesen und in Variable abspeichern Java Basics - Anfänger-Themen 4
alexpetri Datei in String lesen Java Basics - Anfänger-Themen 6
K XPath werter aus XML-Datei lesen Java Basics - Anfänger-Themen 6
M Datei lesen und Char für Char wiedergeben Java Basics - Anfänger-Themen 28
K Datei öffnen, lesen, bearbeiten, in neuer datei speichern Java Basics - Anfänger-Themen 12
T Zahlen aus einer Datei lesen Java Basics - Anfänger-Themen 3
B Wie eine bestimmte Zeile einer Txt-Datei lesen ? Java Basics - Anfänger-Themen 5
H Streams etc. erster Versuch Zeilen aus einer Datei zu lesen Java Basics - Anfänger-Themen 6
T Exception-Handling beim Lesen einer XML-Datei mit XMLDecoder Java Basics - Anfänger-Themen 4
R Objekt aus Datei lesen Java Basics - Anfänger-Themen 5
J Class datei lesen Java Basics - Anfänger-Themen 2
T gezieltes lesen/schreiben in datei Java Basics - Anfänger-Themen 9
D ein File(Datei) lesen und diesen zu einem Hashmap hinfügen? Java Basics - Anfänger-Themen 5
A Datei lesen Java Basics - Anfänger-Themen 12
L Zeile aus Datei lesen Java Basics - Anfänger-Themen 5
S Datei lesen und speichern Java Basics - Anfänger-Themen 8
reibi Datei von hinten lesen Java Basics - Anfänger-Themen 11
G Mehrere Zahlen aus Datei lesen Java Basics - Anfänger-Themen 3
C Komische Zeichen beim Lesen aus einer .reg-Datei Java Basics - Anfänger-Themen 2
H Datei lesen und an bestimmter Stelle schreiben Java Basics - Anfänger-Themen 4
F Aus Byte Datei lesen Java Basics - Anfänger-Themen 4
B String aus Datei lesen + Länge berechnen Java Basics - Anfänger-Themen 2
L Strings von Datei lesen und in TextArea schieben Java Basics - Anfänger-Themen 3
M Zufällige Zeile aus einer Datei lesen Java Basics - Anfänger-Themen 2
J Lesen einer Datei in einen String oder Char? Java Basics - Anfänger-Themen 3
S Datei lesen und in array rein Java Basics - Anfänger-Themen 10
tobiasbeil Von Datei byte für byte lesen und in ein Array einfügen. Java Basics - Anfänger-Themen 11
J Datei-Details /-Infos wie Kommentare, Autor lesen/schreiben Java Basics - Anfänger-Themen 2
S Mit Scanner eine txt Datei lesen Java Basics - Anfänger-Themen 2
A Variablen in eine Datei speichern und lesen Java Basics - Anfänger-Themen 2
V Beim lesen aus einer Datei bekomme ich fehlerhafte Strings. Java Basics - Anfänger-Themen 2
G aus datei lesen und in liste einfügen Java Basics - Anfänger-Themen 5
B Datei lesen und schreiben Java Basics - Anfänger-Themen 2
R Zeilen aus datei lesen + doppelt gespeichert? Java Basics - Anfänger-Themen 3
B Aus Datei Lesen -> Compiler fehler Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben