BufferedREader#readLine

Status
Nicht offen für weitere Antworten.

diggaa1984

Top Contributor
Hallo,

ich hab meine Studienarbeit nun auf einem Level wo ich sagen kann, sie is nun brauchbar handlich und hat die Grundfeatures drin. Nun habe ich dieses Programm mal meinem Kumpel geschickt damit er das ganze mal auf Linux testen kann. Bei Programmstart werden automatisch Datein aus dem System.userDir geladen .. Bei mir klappt das nun problemlos (Windows .. jaja Asche auf mein Haupt ^^). Mein Kumpel hat von mir die Jar und den Ordner zum automatischen Laden bekommen (also Windows-Text-files sozusagen) und bei ihm können diese Datein vermutlich nicht geladen werden. Entsprechende GUI-Elemente bleiben leer.

Nun dachte ich: "ok musst eben per hand checken welche Zeilenumbruüche gerade in dem File vorhanden sind und damit arbeiten".

Ich verwende zum Einlesen den BufferedReader und sehe gerade, dass dieser selbst ja schon nach \n || \r sucht .. von daher sollte es doch möglich sein die Windows-Datein damit unter Linux zu lesen oder?
 
B

bygones

Gast
zeilenweises einlesen einer Datei ist nicht plattformabhaengig wenn du mit readLine arbeitest... das kann der fehler nicht sein

sicher dass du alle exceptions richtig behandelst - soll heissen... findet er die Files auch wirklich (zb) ?
 

diggaa1984

Top Contributor
wie gesagt bei mir in windows klappt das problemlos .. es könnte sein das er das aus dem falschen verzeichnis heraus gestartet hat, aber er meinte Doppelklick auf die jar .. das wäre doch definitiv das System.userDir .. und da war auch der Ordner drin welcher ausgelesen wird.

Hättest du vielleicht die Möglichkeit das nochmal für mich zu testen *lieb gugg* :D
 
S

SlaterB

Gast
selber testen mit FileInputStream,
kann der auch nicht lesen -> BufferedReader hat damit absolut nix zu tun
kann der doch -> alle weiteren Zwischenreader und letztlich die Funktionalät des BufferedReaders testen/ Quellcode kopieren/ debuggen

File.exists()
Class.getResourceAsStream()
usw.
 

diggaa1984

Top Contributor
@Slater
wie gesagt bei mir läuft das soweit super ... das Testen würde sich lediglich auf 1x Programmstart meines Programms belaufen .. ich hatte nich vor das jemand im Code rumwühlen muss

@Zwischenreader:
Java:
BufferedReader bReader = new BufferedReader(new FileReader(new File(path)));
mehr als das gibts nicht
 
Zuletzt bearbeitet:
S

SlaterB

Gast
willst du damit sagen dass du keine Möglichkeit zum Testen hast,
oder dass das Ergebnis schon klar ist?
 

diggaa1984

Top Contributor
ich will damit sagen, das aufgrund der tadellosen arbeit auf meinem windowsrechner ich kein angriffspunkt sehe zur fehlersuche. und ich hab kein linux und kein mac in reichweite ^^

das is meine sorge.

klar kann ich testen und debuggen, aber bei mir gibts absolut kein Fehlverhalten :bahnhof:
 
S

SlaterB

Gast
nunja, dass die Tests auf dem System stattfinden, auf dem der Fehler auftritt,
habe ich stillschweigend vorausgesetzt :D

dann verbleiben wir also bei deinem Aufruf, dass das bitte alles jemand anders herausfinden soll,
 

diggaa1984

Top Contributor
wie gesagt ich brauch nur wissen ... "Läd er die datein und kann man mit denen gleich arbeiten, oder bleibt die Liste geladener Grammatiken leer" .. das is alles .. es geht mir nich um Ursachenforschung, das bleibt dann an mir hängen, is doch klar

wer denn möchte, kann sich gerne per PN melden und ich würde die Jar und nen in Windows erstellten Ordner mit Textdatein packen und verschicken
 
Zuletzt bearbeitet:
M

MiDniGG

Gast
Hm. Versteh ich nicht so ganz. Du kannst Doch mal etwas machen wie:

Java:
File file = new File(path);
System.out.println("Vorhanden: " + file.exists());
Oder auch in nem JOptionPane ausgeben. Nur um zu sehen, ob die Files gefunden werden. Wenn nicht würde ich die ganzen Files generieren lassen...
 

diggaa1984

Top Contributor
wie gesagt .. bei mir funktioniert ja alles .. ich müsst wissen ob es auf einem anderen System genauso ist .. was ich aber selber nicht testen kann, da ich hier kein Linux oder Mac-BS zur Verfügung habe. ;)

Wichtig dabei eben .. kommt es dann mit Datein zurecht, welche aus einem anderen BS stammen.
 
M

maki

Gast
Bei mir geht's aber

Wenn ich jedesmal einen Cent dafür bekommen hätte wenn ich das höre... ;)

Installier dir doch eine Virtuelle Maschine mit Linux (Ubuntu zB.), dann kannst du das ausprobieren, Fehlersuche wenn bei dir keine Fehler auftreten ist immer etwas.. naja, spirituelles.
 
M

MiDniGG

Gast
Hm. Außerdem dachte ich hast Du nen Kumpel oder so... Dann schick ihm halt die modifizierte Version. Lass wegen mir alles mit JOptionPanes ausgeben, sodass der arme keine Konsole bemühen muss. Dann soll er alle Fehlermeldungen rauskopieren und Dir schicken...

Wär doch mal en Anfang... -.-
 
M

MiDniGG

Gast
Hm. OK. Das is blöd.

Genau auch ne Idee. Oder sollen se einfach Windows nutzen :)
 

diggaa1984

Top Contributor
die sache nimmt eine interessante wendung:

mein kumpel (Der ja nur abends erreichbar ist ^^) hat nochmal getestet. Wenn er die Jar mit Doppelklick unter Linux (debian->ubuntu->mint) testet dann sieht er keine geladenen Grammatiken, wenn er allerdings per Konsole und java -jar TLEEditor.jar das ganze aufruft, sieht er die Grammatiken. Das kann ich mir mal gar net erklären.

Hier mal die MainClass, was aber kaum was zur Sache tun sollte ^^
Java:
package gfeGui;

import gfeGui.controller.MainController;
import gfeGui.gui.MainFrame;
import gfeGui.gui.SimpleLog;

import java.io.File;
import java.util.Locale;

import javax.swing.SwingUtilities;
import javax.swing.UIManager;


public class MainClass {

	public static void main(String[] args) {
		final MainController mc = MainController.getInstance();
		
		//Erstellen der GUI
		try {
			SwingUtilities.invokeAndWait(new Runnable() {
				
				@Override
				public void run() {
					try {
						UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
						Locale.setDefault(new Locale("en", "US"));
					} catch (Exception e) {
						e.printStackTrace();
					}
					
					MainFrame mf = new MainFrame("Temporal logic editor");
					mf.setLocationRelativeTo(null);
					mf.setVisible(true);
				}//run
			});
		} catch (Exception e1) {
			e1.printStackTrace();
		}
		

		//Laden der Grammatiken
		SwingUtilities.invokeLater(new Runnable() {
			
			@Override
			public void run() {
				try {
					File dir = new File(System.getProperty("user.dir" ) + "/Grammars");
					
					if (dir.exists()) {
						SimpleLog.print("Load grammars from " + dir.getAbsolutePath());
						File[] grammars = dir.listFiles();
						for(File f: grammars) {
							if (f.isFile()) {
								mc.getGrammarInfoController().addGrammar(f.getAbsolutePath(), 
       f.getName().substring(0,f.getName().lastIndexOf(".")));
							}
						}
					}
				} catch (Exception e) {
					SimpleLog.print(e.getMessage());
				}
			}//run
		});
	}//main
}//MainClass

Der 2. Teil läd besagte Grammatiken aus einem Ordner. Bei Doppelklick gehts nicht, bei java -jar gehts.

Bei mir in Windows gehts bei beidem o_O

CodeStil is nicht zu bewerten, das wird alles noch gesäubert etc.
 
Zuletzt bearbeitet von einem Moderator:
S

SlaterB

Gast
dann schaue dir den Inhalt von
System.getProperty("user.dir" )
an,
wer sagt schon, welches Verzeichnis das bei welchem Klick ist
 
B

bygones

Gast
dann schaue dir den Inhalt von
System.getProperty("user.dir" )
an,
wer sagt schon, welches Verzeichnis das bei welchem Klick ist
wenn irgendwo ein link auf das jar irgendwo hinzeigt wo dann irgendwo auch dieser "Ordner" liegt so wird das mal ganz bestimmt nicht das sein was man denkt :)

ergo durch die Verlinkung laeuft man Gefahr das "wahre" user.dir zu verhunzen
 

diggaa1984

Top Contributor
hm bei einem Doppelklick dachte ich, dass user.dir auch dann genau dieses Verzeichnis ist .. mir ist bekannt das die Variable abhängig vom aktuellen Ort ist, sprich wenn ich die Jar aus nem andern Laufwerk starte, dann ist dieses Laufwerk mein user.dir .. wenn ich n Skript nutze, der Ort wo das Skript liegt, welches die Jar startet, wenn ich n Link auf n Skript hab, dann ist user.dir dennoch die Position des Skriptes

Hm ...

er hat die Jar direkt angeklickt, das hat er mir versichert !!! Ich habe ihm extra beschrieben wie er da vorgehen soll damits keine Probleme gibt, aber ok ich hätte dann doch mal die Ausgabe noch vor die if-Anweisung ziehen sollen ^^ .. für mich war dieses Thema mit dem user.dir schon erledigt, daher sah ich da keine Probleme mehr
 
Zuletzt bearbeitet:
S

SlaterB

Gast
> sprich wenn ich

sprich nicht was du, sprich was er [auf Linux macht, testet, an Ausgaben hat usw]
 

diggaa1984

Top Contributor
sprich nicht was du, sprich was er [auf Linux macht, testet, an Ausgaben hat usw]

geht nich er is wieder off :D

den Leuten am Lehrstuhl ist die Sache mit dem Skript als Lösung aber bewusst und fanden sie auch in Ordnung .. ist auch bequemer, so kann man das Programm von überall starten und das user.dir bleibt gleich.
 
Zuletzt bearbeitet:
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
K BufferedReader.readLine erkennt Zeilenende nicht Allgemeine Java-Themen 11
A bufferedReader readline, encoding Allgemeine Java-Themen 5
V wie bufferedreader.readline() unterbrechen? Allgemeine Java-Themen 4
J BufferedReader br.readLine(); Allgemeine Java-Themen 22
conan2 BufferedReader.readLine() von anderem Thread aus beenden Allgemeine Java-Themen 4
N readLine() von BufferedReader hält das Programm fest/auf! Allgemeine Java-Themen 10
W Socket.setSoTimeout -> BufferedReader -> Default value Allgemeine Java-Themen 4
kodela Unterschiedliches Verhalten von BufferedReader Allgemeine Java-Themen 3
D BufferedReader bricht nach 1248 Iterationen ab Allgemeine Java-Themen 14
C BufferedReader/BufferedWriter schreibt nicht alle Bytes Allgemeine Java-Themen 2
C TCP Server und BufferedReader Leerstring im Stream? Allgemeine Java-Themen 5
A BufferedReader ohne System.in Allgemeine Java-Themen 9
J BufferedReader Datei einlesen Allgemeine Java-Themen 8
Messoras Der BufferedReader mag mich nicht Allgemeine Java-Themen 47
C Threading mit BufferedReader/InputStream & sockets Allgemeine Java-Themen 0
J BufferedReader OutOfMemory umgehen? Allgemeine Java-Themen 10
B Input/Output BufferedReader Allgemeine Java-Themen 3
O BufferedReader von ganz unten anfangen zu lesen Allgemeine Java-Themen 7
S BufferedReader/PrintWriter an einer HTML Allgemeine Java-Themen 6
M BufferedReader: Vom Logfile zur Datenbank Allgemeine Java-Themen 6
S Null Pointer Exception bei BufferedReader Allgemeine Java-Themen 4
D 'InputStreamReader' & 'BufferedReader' führen zu "cannot find symbol"-Fehler Allgemeine Java-Themen 3
D Scanner leer aber bufferedReader nicht?! Allgemeine Java-Themen 2
Developer_X Java BufferedReader mit URL Allgemeine Java-Themen 5
Semox Fehler - Zuweisung aus BufferedReader an Variable Allgemeine Java-Themen 3
S Exception beim BufferedReader Allgemeine Java-Themen 3
G getFilePointer in BufferedReader? Allgemeine Java-Themen 2
D (BufferedReader) inLine() "verschluckt" zeilen ? Allgemeine Java-Themen 2
M BufferedReader.read(char[] cbuf) liefert falsche Werte? Allgemeine Java-Themen 4
W Frage zu BufferedReader Allgemeine Java-Themen 2
K Wie kann ich einen BufferedReader beschleunigen? Allgemeine Java-Themen 4
B while mit BufferedReader beenden Allgemeine Java-Themen 5
F Zu große Werte beim byteweisen Lesen mit BufferedReader.read Allgemeine Java-Themen 5
S BufferedReader problem Allgemeine Java-Themen 11
D BufferedReader in image umwandeln Allgemeine Java-Themen 3
M BufferedReader input - hängt sich auf Allgemeine Java-Themen 4
C Probleme mit URL und BufferedReader Allgemeine Java-Themen 6
C BufferedReader oder DataInputStream Allgemeine Java-Themen 4
M Store a String in a BufferedReader Allgemeine Java-Themen 2
kodela Byte Order Mark (BOM) bei readLine() ignorieren Allgemeine Java-Themen 5
S readLine() liest nur jede 2. Zeile Allgemeine Java-Themen 3
P readLine() liest nur jede dritte Zeile? Allgemeine Java-Themen 3
J RandomAccessFile readLine(); Allgemeine Java-Themen 5
S Stream ReadLine() Allgemeine Frage Allgemeine Java-Themen 5
S readLine oder sowas? Allgemeine Java-Themen 13
R read/readline blockiert Allgemeine Java-Themen 5

Ähnliche Java Themen

Neue Themen


Oben