Variablen IO Exception weil File angeblich nicht exisitert

Loooki

Mitglied
Hey,

Ich bekomme eine IO (File not found) Exception wenn ich auf eine Datei mit "Sonderzeichen" zugreifen möchte.

Zeichen wie: Unicode Character 'LATIN CAPITAL LETTER U WITH ACUTE' (U+00DA)
(Es können glaube ich wohl auch bestimmte Kombinationen von Punkten sein(?))

Beispielcode:

Java:
	@Override
	public FileVisitResult visitFile(Path pathFile, BasicFileAttributes attrs) throws IOException {
		System.out.println(pathFile.toFile().exists());
		return FileVisitResult.CONTINUE;
	}

die Methode visitFile wird überschrieben vom SimpleFileVisitor<Path>. (JDK 7)

das witzige daran ist ja eigentlich das in der Variable pathFile der richtige Pfad drinn steht.
Wandle ich das dann in ein File um und frage obs überhaupt exisitert gibt es ein false zurück.

die oben genannte IO Exception würde also auftreten bei der weiteren verarbeitung des Files.

Ich verwende das Oracle JDK 7 Update 4 unter Mac OS X (Ja, es ist immernoch die Beta)
Habs mir bevor ich diesen Thread erstellt hab auch nochmal runtergeladen wegen eventuellen Updates.
 
G

Gast2

Gast
Dateien oder Ordner mit Sonderzeichen sind generell ne schlechte Idee, das sollte man immer vermeiden.
Wobei das bei mir (Ubuntu) mit dem
Code:
Ú
im Namen funktioniert:
Java:
String path = System.getProperty("user.home") + "/TestÚ";
File file = new File(path);
System.out.println(file.exists()); // prints true
Bist du dir ganz sicher dass der Pfad passt?
 

Loooki

Mitglied
Ja, 100% tig passt der Pfad.

Natürlich sind solche Zeichen in Dateinamen nicht gerade gut aber das gebe ich in diesem fall nicht vor.

Java:
 public class Test {
	public static void main(String[] args) {
		System.out.println(System.getProperty("java.version"));
		File file = new File("/Users/Zarathustra/test/testtest2/Úhallo.mp3");
		System.out.println(file.exists());
	}
}

Output:
Code:
1.7.0_04-ea
false

bzw:
Code:
1.6.0_26
true

Mit anderen Worten JDK im Eimer....
 
G

Gast2

Gast
Das scheint tatsächlich wohl am JDK zu liegen. Bei mir funktionierts sowohl mit Java6 und Java7:
Code:
1.6.0_23
/home/eike/TestÚ
exists: true
Code:
1.7.0_147-icedtea
/home/eike/TestÚ
exists: true
 

Loooki

Mitglied
Dann schreib ich denen mal nen Ticket ;)

Idee für nen Workaround?
Vorher die Datei umbenennen scheint mir irgendwie blöd außerdem sollte der Name schon beibehalten werden...

Und selbst wenn umbennen nach welchem Muster erkenne ich denn solche Datein...

newFile(path.toUri()); - funktioniert übrigens auch nicht
 
G

Gast2

Gast
Mit deinem Java6 funktionierts doch, oder brauchst du unbedingt die neue Java7 API ?
 

Cybergoth

Mitglied
Idee für nen Workaround?

Läuft denn der Visitor durch? Welche Operationen sollen auf der Datei durchgeführt werden?

Vorher die Datei umbenennen scheint mir irgendwie blöd außerdem sollte der Name schon beibehalten werden...

Klappt umbennenen denn überhaupt? Natürlich kannst Du ggfs. die Datei am Ende wieder zurückbennenen.

Und selbst wenn umbennen nach welchem Muster erkenne ich denn solche Datein...

Für den Anfang würde ich so etwas versuchen:
Java:
      for(int i = 0; i < str.length(); i++) 
      {
         char ch = str.charAt(i);
         if(ch > 127)
             // Zeichen ausserhalb ASCII Range => Do Something!
      }
 
S

SlaterB

Gast
hilft es, ins Verzeichnis zu wechseln, sich alle Dateinamen darin anzuschauen,
und, falls die gesuchte Datei mit ähnlichem Namen dabei ist, zu vergleichen?
 

Loooki

Mitglied
Läuft denn der Visitor durch? Welche Operationen sollen auf der Datei durchgeführt werden?



Klappt umbennenen denn überhaupt? Natürlich kannst Du ggfs. die Datei am Ende wieder zurückbennenen.



Für den Anfang würde ich so etwas versuchen:
Java:
      for(int i = 0; i < str.length(); i++) 
      {
         char ch = str.charAt(i);
         if(ch > 127)
             // Zeichen ausserhalb ASCII Range => Do Something!
      }

@Cybergoth Stimmt umbennen sollte auch nicht funktionieren.

Das mit Char > 127 klingt aber interessant.

@SlaterB zu vergleichen womit?
 
S

SlaterB

Gast
na mit dem gegebenen Namen,
"TestÚ" wird im Verzeichnis X nicht gefunden, aber vielleicht ist unter den Dateien im Verzeichnis "Test?" oder so,
was dann hinreichend dasselbe ist,

falls du die Dateien auf diesem Wege findes und nach und nach erkennst, welches Zeichen durch welches andere ersetzt wird,
kannst du auch andersrum im gegebenen Namen die Zeichen ersetzen, dann wirds vielleicht direkt gefunden
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
H Object cast exception Allgemeine Java-Themen 7
W Queue.remove() -> no such element exception Allgemeine Java-Themen 17
urmelausdemeis Exception in thread "main" java.lang.Error: Unresolved compilation problem: Allgemeine Java-Themen 7
N Kann ich die Nullpointer Exception umgehen Allgemeine Java-Themen 12
N A java Exception has occured Allgemeine Java-Themen 8
G javafx "class path" exception Allgemeine Java-Themen 5
H Interface PluginSystem ClassNotFound exception für library Klassen Allgemeine Java-Themen 10
tom.j85 Exception bei Abfrage von Ländercodes in API? Allgemeine Java-Themen 13
S Exception Allgemeine Java-Themen 5
LimDul Streams und Exception Allgemeine Java-Themen 8
C FileLock - Exception wird immer geworfen Allgemeine Java-Themen 4
S Wertbeschränkung Exception oder Anpassung? Allgemeine Java-Themen 4
D Nullpointer Exception Problem Allgemeine Java-Themen 5
Kirby.exe Nullpointer Exception bei Queue Allgemeine Java-Themen 5
R Schlüsselworte "Throw new exception" gibt nicht den String als Fehlermeldung aus Allgemeine Java-Themen 2
P Swing Exception in thread "AWT-EventQueue-0" java.lang.IndexOutOfBoundsException: npoints > xpoints.length || npoints > ypoints.length Allgemeine Java-Themen 5
S RMI Exception Allgemeine Java-Themen 0
S MSSQL Exception & Connection String Allgemeine Java-Themen 19
S Interface, generischer Datentyp, Exception? Allgemeine Java-Themen 3
coolian warum bekomme ich ein string index out of bounds exception Allgemeine Java-Themen 17
B Aufruf der Methode ergibt eine Exception Allgemeine Java-Themen 13
S Exception in thread "main" java.lang.NullPointerException at FamilienApp.main(FamilienApp.java:15) Allgemeine Java-Themen 1
M Klassen Serializable Exception Allgemeine Java-Themen 1
E HILFE !! Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/io/FileUtils Allgemeine Java-Themen 4
E Thread Exception Allgemeine Java-Themen 6
javaerd Binomialkoeffizient ausrechnen, Exception in thread "main" java.lang.StackOverflowError Allgemeine Java-Themen 6
M xlsx File auslesen Exception occured Allgemeine Java-Themen 13
X jvm exception abfangen und an externes Programm schicken Allgemeine Java-Themen 4
G Java/LibGDX File Loading Exception Allgemeine Java-Themen 2
B Exception in Application init method Allgemeine Java-Themen 5
H OOP Testen einer Exception mit JUnit Allgemeine Java-Themen 8
M javafx ComboBox- Nullpointer Exception Allgemeine Java-Themen 6
perlenfischer1984 Dialect class not found exception Allgemeine Java-Themen 15
Thallius Bekomme keine Exception mit Stacktrace mehr. Was habe ich getan? Allgemeine Java-Themen 13
perlenfischer1984 Functionsparameter prüfen und eine Exception werfen !? Allgemeine Java-Themen 11
E Probleme mit nextInt() und Exception Allgemeine Java-Themen 35
Z Exception wird nicht ausgelöst Allgemeine Java-Themen 2
0 Animiertes Gif anzeigen - NullPointer Exception Allgemeine Java-Themen 19
T Konstruktor löst exception aus Allgemeine Java-Themen 7
KilledByCheese Dezimal nach Hexadezimal rechner wirft seltsame exception Allgemeine Java-Themen 4
V Compiler-Fehler Exception in thread "AWT-EventQueue-0" java.lang.IndexOutOfBoundsException: Index: 125, Size: 125 Allgemeine Java-Themen 11
D Codeausführung bevor Exception abgeschlossen ist Allgemeine Java-Themen 11
T FileNotFound Exception Allgemeine Java-Themen 9
L Exception/Error auf JDialog umleiten Allgemeine Java-Themen 2
C Arithmetic Exception, obwohl nichts 0 ist Allgemeine Java-Themen 5
M A Java Exception has occured. Allgemeine Java-Themen 1
J Exception in thread "main" java.lang.NoClassDefFoundError Allgemeine Java-Themen 4
M Exception in thread "AWT-EventQueue-0" Allgemeine Java-Themen 6
P Input/Output java.util.Scanner in einer Schleife und Exception-Behandlung: Einlesen einer Zahl Allgemeine Java-Themen 4
E A Java Exception Has Occured Allgemeine Java-Themen 4
T Exception handling Allgemeine Java-Themen 7
P lazy loading exception Allgemeine Java-Themen 0
A Interpreter-Fehler OutOfMemory Exception mit Base64 decode Allgemeine Java-Themen 3
S Java Applet Crash - Keine Exception Allgemeine Java-Themen 8
S Best Practice verschiedene Exceptions fangen und neue Exception erzeugen Allgemeine Java-Themen 11
K Exception in thread "AWT-EventQueue-1" Allgemeine Java-Themen 2
K Gepacktes Jar-File gibt beim Doppelklick eine Exception aus Allgemeine Java-Themen 4
P Eigene Exception Klasse Allgemeine Java-Themen 7
N Java Interne Exception Allgemeine Java-Themen 4
B JUnit4 Exception-Test Allgemeine Java-Themen 4
127.0.0.1 SQL Exception, kein Driver Allgemeine Java-Themen 9
S Erste Schritte Exception beendet Schleife nicht - Methode macht trotz throw weiter? Allgemeine Java-Themen 9
R ZIP FileSystem unter Windows wirft exception Allgemeine Java-Themen 7
H java.util.Timer und Funktion mit SQL Exception Allgemeine Java-Themen 5
Ollek Barcode mit Barcode4J erzeugen - Exception Allgemeine Java-Themen 4
Z Concurrent Modification Exception - HashMap (kein remove) Allgemeine Java-Themen 4
E Eigene Exception Klasse erstellen Allgemeine Java-Themen 3
T Exception versus Rückgabeparamter Allgemeine Java-Themen 26
S Exception enableDepthTest Allgemeine Java-Themen 7
M JAXB Reimport zu Hibernate DB -> Exception Allgemeine Java-Themen 3
W Kleine Frage zu Null-Pinter-Exception Allgemeine Java-Themen 21
aze JUnit: Testen ob bestimmte Exception nicht auftritt Allgemeine Java-Themen 18
S Null Pointer Exception bei BufferedReader Allgemeine Java-Themen 4
N Runtime.exec() Exception Problem Allgemeine Java-Themen 3
P Default constructor cannot handle exception type Allgemeine Java-Themen 6
M Objekt prüfen auf null ->Invocation Target Exception??? Allgemeine Java-Themen 2
S Bildaufbau durch Servlet -> Exception Allgemeine Java-Themen 11
E Queue: Wie kann hier ein null-Pointer Exception auftreten?! Allgemeine Java-Themen 11
S Exception beim Schreiben des Dataset in XML Datei Allgemeine Java-Themen 8
M Webstart Exception trotz signierten JARs Allgemeine Java-Themen 3
E Interpreter-Fehler unbekannte Exception Allgemeine Java-Themen 12
B Komische Exception Allgemeine Java-Themen 4
U SwingWorker und Exception Allgemeine Java-Themen 3
B Nullpointer Exception in Array Allgemeine Java-Themen 15
G WebService Exception Allgemeine Java-Themen 3
M Best Practices Exception Handling für eigene library Allgemeine Java-Themen 8
G PermSpace Exception Allgemeine Java-Themen 2
S Invalid Chunk Exception Allgemeine Java-Themen 3
N URLClassLoader Exception Allgemeine Java-Themen 5
Apo Java Sound Mark/Reset Exception Allgemeine Java-Themen 14
M Exception ganz sehen Allgemeine Java-Themen 2
D Problem mit EasyMock und Exception Allgemeine Java-Themen 6
B Exception wird geworfen, ich darf sie aber nicht abfangen. Allgemeine Java-Themen 10
7 Exception wird nicht aufgefangen Allgemeine Java-Themen 8
C Desktop.mail Problem. IO Exception: Failed to open. Allgemeine Java-Themen 3
L [Exception] RSA Verschlüsselung. Allgemeine Java-Themen 16
Final_Striker Exception bei neuem Look und Feel Allgemeine Java-Themen 2
N Exception beim auslesen einer JTable Allgemeine Java-Themen 5
nrg Stilistisch korrektes Exception Handling Allgemeine Java-Themen 4
F Geworfene Exception kommt nicht an Allgemeine Java-Themen 6

Ähnliche Java Themen


Oben