Auf File- Befehl warten.

Status
Nicht offen für weitere Antworten.

Ken Park

Mitglied
Hallo Forum,

ich habe eine Anweisung in einem Programm a la

Code:
1: File getEinsend = new File( c:/irgendwoaufderplatte );
2: String[] einsend = getEinsend.list();
3: File datei = new File (c:/irgendwoaufderplatte/einsend[0] );

Die Befehle stehen direkt hintereinander im Code und die Ordnerstruktur sei jetzt hier mal vernachlässigt. Ich möchte also den Inhalt eines Ordners haben und dann über die Dateinamen im Array einsend auf die einzelnen Daten zugreifen. Nun bekomme ich aber allerdings von Zeit zu Zeit eine Nullpointer Exception in Zeile 3, die ich mir nur damit erklären kann, dass Zeile 3 abgearbeitet wird bevor der eigentliche Befehl in Zeile 2 vollständig abgearbeitet worden ist - nebenläufig. Der Verdacht kommt daher, dass diese Befehle manchmal funktionieren und manchmal nicht - mit genau den selben Verzeichnissen usw. Also genau ein Testfall.

Kann ich denn irgendwie auf den Befehl in Zeile 2 warten? Also erst zu zeile 3 gehen wenn der Befehl abgearbeitet ist?
Oder hat jemand noch eine Idee woran es liegen könnte?

gruß.... ken.
 
S

SlaterB

Gast
willst du nicht lieber wie ein normaler Programmierer handeln
und z.B. loggen, bei welchen Files der Fehler kommt und bei welchen nicht?

wenn du z.B. auf einen geschützen Order wie den Recycler/ Papierkorb zugreifst, dann liefert getEinsend.list(); null und die NullPointerException ist klar,

ganz ohne irgendeine Nebenläufigkeit
 

Ken Park

Mitglied
Hallo,

es handelt sich dabei um Daten mit keinerlei Zugriffsbeschränkung. Und wie ich bereits sagte: Es kann sich (eigentlich) nur um ein Nebenläufigkeitsproblem handeln, da die Testdaten immer die selben sind und es manchmal eben funktioniert und manchmal nicht. Die Daten bleiben die selben.
 
S

SlaterB

Gast
tja, aber nur die Nebenläufigkeit läßt sich zumindest auf Java-Seite ausschließen,
der Befehl wird tausendfach auf aller Welt eingesetzt und funktioniert bei allen tadellos,

kaputtes Betriebssystem oder ähnliche Gründe sind natürlich immer die Joker

ich bin noch fürs Loggen, bei welchen Dateien/ Verzeichnissen kommt der Fehler?
schaue direkt danach ins Dateisystem, ob das entsprechende Verzeichnis da ist, sich öffnen läßt oder gar eine normale Datei ist
 

ARadauer

Top Contributor
du könntest auch einwenig sauberer programmieren...

Code:
if(einsend!=null && einsend.length>0){
			File datei = new File ("c:/irgendwoaufderplatte/einsend[0]");
			usw..
		}


in deinen 3 zeilen gibt es sicher nicht nebläufiges.
wenn in file nix drin ist, liefert list null, daher kommt dein fehler.

dass du beim selben pfad zweimal unterschiedliche ergebnisse erhälst, kann ich mir nicht vorstellen.... könnte höchstens sein, dass windows irgendwelche versteckten datein angelegt hat ..
 

ARadauer

Top Contributor
generell ist zu sagen, wenn ich eine methode benutze die mir ein array zurück gibt und aber auch null zurück geben kann
muss ich schon prüfen ob es über haupt ein element enhält bevor ich drauf zugreife...
 

Ken Park

Mitglied
ARadauer hat gesagt.:
du könntest auch einwenig sauberer programmieren...

Ja, ich habe nur die essentiellen Zeilen hier ins Forum geschrieben. Exception Handling und Prüfungen habe ich im Orginalcode natürlich verwendet.

ARadauer hat gesagt.:
dass du beim selben pfad zweimal unterschiedliche ergebnisse erhälst, kann ich mir nicht vorstellen....

Na gut. Was soll ich jetzt dazu sagen? Der Testfall ist wohldefiniert. Die Parameter sind die selben. Die Exception kommt oder eben nicht. Ob man sichs nun vorstellen kann oder nicht.

Aber naja... wenns nicht nebenläufig abläuft muss ich mir eben was neues ausdenken.
 

Ken Park

Mitglied
So... ich verfolg jetzt mal die erste Spur mit den Schreibrechten. Ich hab jetzt mal beispielhaft eine Ordnerstruktur angelegt wo einige Dateien schreibgeschützt sind. Meine Idee ist halt den Ordner vor der Weiterverarbeitung rekursiv zu durchlaufen und ggf. jeden Schreibschutz zu entfernen. Da hab ich aber ein kleines Problem:

Wenn ich mir vor dem Setzen der Rechte per rechte Maustaste im Explorer die Dateizugriffsrechte anzeigen lasse, sehe ich selbstverständlich ein grau unterlegtes Häkchen bei "Schreibschutz". Demnach alles soweit in Ordnung. Ein paar Dateien sind eben schreibgeschützt.

Wenn ich jetzt mit folgendem Code arbeite:
Code:
public boolean setRights(File dir){
	String divider = File.separator;
	if (dir.isDirectory()){
			String[] entries = dir.list();
			for (int x=0;x<entries.length;x++){
				File aktFile = new File(dir.getPath()+divider+entries[x]);
				setRights(aktFile);
			}
			if (dir.setWritable(true)) { return true; 	}	
			else { return false; }
		}
		else{
			if (dir.setWritable(true)) { return true; 	}	
			else { return false; }
		}
}


ist nach Beendigung des Programms aber der Schreibschutz nicht entfernt und auch nicht wenn ich zur Laufzeit mit einem Debugger direkt nach diesem rekursiven Befehl anhalte. Habe ich etwas übersehen oder funktioniert das Setzen der Rechte nicht so einfach unter Windows?
 

Ken Park

Mitglied
Hmm... ich habe gerade mal mit dem Debugger und ein paar Ausgaben rumgespielt. File.canWrite() und File.canExecute() liefern beide "true", auch wenn im Explorer ein Häckchen bei "Schreibschutz" ist. Scheint also nicht miteinander zu tun zu haben.

Gibts da ne Möglichkeit plattformunabhängig ranzukommen? Oder nur via Runtime und dann per Windows-Befehl?

Ob man sichs nun vorstellen kann oder nicht.

ich glaubs dir ja, mich würd jetzt auch interessieren, woran das liegt...

Also: Ich habe zumindest rausgefunden woher die schreibgeschützten Dateien kommen. Die Dateien auf denen ich es ausführe sind zwar nicht schreibgeschützt, allerdings die Verzeichnisse die ich zur Laufzeit anlege. Zwar nicht schreibgeschützt wie es File.canWrite() liefern würde aber wenn ich die Verzeichnisse über den Explorer -> Eigenschaften öffne sind sie Schreibgeschützt markiert.

Die Frage ist natürlich dann immer noch ob dass der Grund für mein ursprüngliches Problem ist.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
W Java-PRogramm liest als EXE-File Nicht USB, jedoch aus NetBeans Java Basics - Anfänger-Themen 45
I Dateien in einem .war - File durchgehen? Java Basics - Anfänger-Themen 1
Timo12345 JNLP File mit Java öffnen Java Basics - Anfänger-Themen 2
I Bild richtig speichern / Hochkant im File Explorer, nach Upload vertikal Java Basics - Anfänger-Themen 9
R File.pathSeparator und File.separator Java Basics - Anfänger-Themen 46
KeinJavaFreak Erste Schritte Java "Executable Jar File" nicht vorhanden Java Basics - Anfänger-Themen 1
izoards Prunsrv - Windows Service - .bat file starten Java Basics - Anfänger-Themen 84
I File Uploader... Statusanzeige, Berechnung des Status etc. Java Basics - Anfänger-Themen 0
I H2 Datenbank starten / Daten in File speichern Java Basics - Anfänger-Themen 25
G jar file lässt sich nicht öffnen Java Basics - Anfänger-Themen 1
N Textdatei aus Resourcen-Ordner eines Projekts/ jar-file lesen Java Basics - Anfänger-Themen 4
J File length als Prüfwert für Download Java Basics - Anfänger-Themen 5
berserkerdq2 Überprüfen ob eine Schreibberechtigung auf ein file exisitert bzw. ob man dieses file löschen kann, wie? Java Basics - Anfänger-Themen 9
berserkerdq2 IOstreams, was unterscheidet file von z. B. BufferedWriter? Java Basics - Anfänger-Themen 11
J Datentypen String in File konvertieren funktioniert nicht Java Basics - Anfänger-Themen 4
A java jar-File Java Basics - Anfänger-Themen 1
E Executable jar file fehler Java Basics - Anfänger-Themen 9
I Upload File zu einem Webservice Java Basics - Anfänger-Themen 17
I ZIP File erstellen Java Basics - Anfänger-Themen 10
LeoDerKek Textdatei in JAR-File Java Basics - Anfänger-Themen 4
Tom/S File Java Basics - Anfänger-Themen 10
AleXusher Mehrdimensionales Array aus txt.file auslesen Java Basics - Anfänger-Themen 4
A Checkstyle - File contains tab characters Java Basics - Anfänger-Themen 2
H Java file nicht gefunden Java Basics - Anfänger-Themen 5
C File speichern Java Basics - Anfänger-Themen 5
C Runnable Jar-File erzeugen Java Basics - Anfänger-Themen 14
C Pfad zu Properties-File bei ResourceBundle Java Basics - Anfänger-Themen 7
F GSON file mit einer List erstellen Java Basics - Anfänger-Themen 2
rafi072001 Lesen aus einem Excel File Java Basics - Anfänger-Themen 10
C Bild in executable JAR File mitgeben Java Basics - Anfänger-Themen 5
K File (png) in Image laden Java Basics - Anfänger-Themen 3
B Inputstream in file schreiben? Java Basics - Anfänger-Themen 23
S Input/Output Reader/Writer finden file nicht Java Basics - Anfänger-Themen 3
T Buffered Stream leert Txt File Java Basics - Anfänger-Themen 3
A 2d Arrays aus txt.file einlesen Java Basics - Anfänger-Themen 16
Dimax In Java File (nicht in Java Projekt) mysql Driver importieren Java Basics - Anfänger-Themen 3
K File wird in der .Jar nicht gefunden Java Basics - Anfänger-Themen 3
E TXT FILE EINLESEN Java Basics - Anfänger-Themen 4
Trèfle EXCEL-File Laufwerkunabhängig einbinden. Java Basics - Anfänger-Themen 1
B HTML File einlesen inkl. Bilder? Java Basics - Anfänger-Themen 2
B Hilfe bei InputStream To File Java Basics - Anfänger-Themen 22
topi relativer Pfad in einem Runnable JAR file Java Basics - Anfänger-Themen 12
A jar File kleiner bekommen Java Basics - Anfänger-Themen 3
B File öffnen in src/main/webapp Java Basics - Anfänger-Themen 4
K File-Name Vergleich Java Basics - Anfänger-Themen 2
krgewb Runnable JAR File Export Java Basics - Anfänger-Themen 11
S Maxium aus einer File finden Java Basics - Anfänger-Themen 12
dapzoo Class File Version zu niedrig? Ausführen über Eingabeaufforderung nicht möglich Java Basics - Anfänger-Themen 14
D Input/Output File exists canRead canWrite Java Basics - Anfänger-Themen 11
B cal4j - Error at line 1:Unexpected end of file Java Basics - Anfänger-Themen 0
P jar file lässt sich nicht ausführen Java Basics - Anfänger-Themen 4
E Best Practice Jar-file mit zwei Klassen und externer Bibliothek über Konsole erzeugen Java Basics - Anfänger-Themen 13
M Erste Schritte CSV-File einlesen und Daten verarbeiten Java Basics - Anfänger-Themen 5
F File von Windowsfreigabe laden Java Basics - Anfänger-Themen 1
S java.nio.file.FileSystemException bei Dateizugriff vermeiden Java Basics - Anfänger-Themen 7
Vince42 NIO File Tree in XML umwandeln Java Basics - Anfänger-Themen 10
J Zweidimensionales Array in CSV File exportieren Java Basics - Anfänger-Themen 3
E War-File Problem mit Eclipse Java Basics - Anfänger-Themen 3
B Excel File einlesen und Überschrift prüfen Java Basics - Anfänger-Themen 8
M Email versenden Outlook, attached File, ohne Anmeldung Java Basics - Anfänger-Themen 4
M Input/Output Word File Kopieren Java Basics - Anfänger-Themen 12
K Runable Jar File erstellen Java Basics - Anfänger-Themen 17
T Java Executable jar file funktioniert nicht Java Basics - Anfänger-Themen 4
sourcecorn Werte aus einem File lesen Java Basics - Anfänger-Themen 6
Kopak'rraf Korruptes zip File. Java Basics - Anfänger-Themen 0
T File für Einstellungen wird nicht geladen Java Basics - Anfänger-Themen 1
S Sounddatei in Jar File integrieren Java Basics - Anfänger-Themen 2
S Index File bauen Java Basics - Anfänger-Themen 5
T Anzeige, wie lange es noch dauert bis ein File gesendet ist. Java Basics - Anfänger-Themen 2
T filereader , file aus programm einlesen Java Basics - Anfänger-Themen 12
Ghostman1711 Itext PDF print File gelockt by Java Java Basics - Anfänger-Themen 15
N Email mit Anhang - File not Found Java Basics - Anfänger-Themen 1
K Interface Kein Bild im .jar-File Java Basics - Anfänger-Themen 15
S Bild in Jar-File mit ImageIO Java Basics - Anfänger-Themen 50
Syncopated Pandemonium Compiler-Fehler The constructor MP3File(File) refers to the missing type NoMPEGFramesException Java Basics - Anfänger-Themen 7
S File mit canRead() testen Java Basics - Anfänger-Themen 4
A file.delete funktioniert nicht Java Basics - Anfänger-Themen 15
K Classpath Lesen von Property-File Java Basics - Anfänger-Themen 1
S jar file Java Basics - Anfänger-Themen 19
B Fragen zu ZIP-File Java Basics - Anfänger-Themen 9
B Dateityp von File bekommen Java Basics - Anfänger-Themen 2
I Automatisch Verzeichnis erstellen bei File erstellen Java Basics - Anfänger-Themen 5
E Große Datenmengen effizient in CSV File speichern Java Basics - Anfänger-Themen 4
I String zu File umwandeln Java Basics - Anfänger-Themen 2
N File virtuell ByteStream Java Basics - Anfänger-Themen 11
X Übergabeparameter Konstruktor (File) Java Basics - Anfänger-Themen 13
Anfänger2011 file.isDirectory() liefert falschen Wert!? Java Basics - Anfänger-Themen 1
ms_cikar Jar file mit resource erzuegen Java Basics - Anfänger-Themen 28
E lesen csv file column by column Java Basics - Anfänger-Themen 10
U Anhand von Ant ein War-File erstellen Java Basics - Anfänger-Themen 0
B Quellcode einelsen "line by line" (und abspeichern in file (txt) Java Basics - Anfänger-Themen 7
O Zip-File Inhalt einlesen Java Basics - Anfänger-Themen 3
V Erste Schritte Dateinamen aus einer FIle[] in eine List Java Basics - Anfänger-Themen 11
P Jar File Java Basics - Anfänger-Themen 3
B Probleme bei "Daten in CSV File schreiben". Java Basics - Anfänger-Themen 9
S CSV File - "Vergleichen und Sortieren" Java Basics - Anfänger-Themen 3
T Wieso kann ich das jar file nicht starten? Java Basics - Anfänger-Themen 5
S Resourcen-Dateien im Jar-File verfügbar machen (Intellij 14) Java Basics - Anfänger-Themen 14
A Wieso übergibt der nicht die bearbeitete txt file Java Basics - Anfänger-Themen 8
Ruvok Executable Jar File startet nicht Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben