Files mit Umlauten ergeben keine Größe

visara

Mitglied
Hallo, ich möchte aus einem Verzeichnis die Größen aller Dateien aufaddieren.
Die Methode funktioniert zwar, aber nur solange in den Dateinamen keine Umlaute sind.
Wenn Umlaute sind, dann wird mir die Größe 0 für diese Datei angegeben.
Leerzeichen machen keine Probleme. Nur wenn Umlaute sind, funktioniert es nicht mehr.
Ich benutze die Methode File.length() um die Größe auszulesen.

Kann mir jemand behilflich sein, wie ich das Problem lösen kann?
 

Mujahiddin

Top Contributor
Nächstes Mal verwende bitte deutsche Begriffe, wenn es sich nicht um klassen handelt! Anfangs dachte ich, mit Files meinst du java.nio.file.Files und nicht "Dateien". Aus diesem Grund habe ich folgendes Beispiel geschrieben und es funktioniert ohne Probleme:

Java:
public static void main(String... args) throws Exception {
	Path p = Paths.get( "C:", "TestOrdner" );
	Files.walkFileTree( p, new SimpleFileVisitor<Path>() {
		
		@Override
		public FileVisitResult visitFile(Path path, BasicFileAttributes attrs) {
			try {
				System.out.print( "Name: " + path.getFileName() + ", " );
				System.out.println( "Größe: " + Files.size( path ) );
			} catch( IOException e ) {
				e.printStackTrace();
			}
			return FileVisitResult.CONTINUE;
		}
	} );
}

Ausgabe:

Code:
Name: DateiMitUmlautää.txt, Größe: 671
Name: DateiOhneUmlaut.txt, Größe: 418

Mit
Code:
File
funktioniert es übrigens auch einwandfrei:

Java:
public static void main(String... args) throws Exception {
	Path p = Paths.get( "C:", "TestOrdner" );
	Files.walkFileTree( p, new SimpleFileVisitor<Path>() {
		
		@Override
		public FileVisitResult visitFile(Path path, BasicFileAttributes attrs) {
			System.out.print( "Name: " + path.toFile().getName() + ", " );
			System.out.println( "Größe: " + path.toFile().length() );
			return FileVisitResult.CONTINUE;
		}
	} );
}

Ausgabe:

Code:
Name: DateiMitUmlautää.txt, Größe: 671
Name: DateiOhneUmlaut.txt, Größe: 418


Du musst dich also klarer ausdrücken und evtl Code posten.
 

visara

Mitglied
Danke schon mal für die schnelle Hilfe.

Ich zeige hier einfach mal den Code.

Java:
    public static long getDirectorySize(File dir) {
        long size = 0;
        String path = "";
        File[] files = dir.listFiles();
        if (files != null) {
          for (int i = 0; i < files.length; i++) {
            if (files[i].isDirectory()) {
                path = files[i].toString();
                System.out.println(path +  " Size: " + files[i].length());
                size += getDirectorySize(files[i]);
            } 
            else {
              size += files[i].length();
              path = files[i].toString();
              System.out.println(path +  " Size: " + files[i].length());
            } 
          }
        }
        return size;
      }

Also ich möchte einmal die Gesamtgröße des eingegebenen Verzeichnisses und gebe auch immer noch die einzelnen Größen der Dateien aus.


Java:
public static void main(String[] args) {
        File f = new File("/Users/visara/Desktop/test2");
       System.out.println(getDirectorySize(f));
    }

Und das hier ist die Ausgabe
Code:
/Users/visara/Desktop/test2/mitUmlauteno??o??a??a??u??u??.pdfSize: 0
/Users/visara/Desktop/test2/ohneUmlaute.pdfSize: 28588
28588

Den rekursiven Teil ignoriere ich
 

Mujahiddin

Top Contributor
Java:
File f = new File( "C:/TestOrdner" );
System.out.println( getDirectorySize( f ) );

Bei mir kommt:

Code:
C:\TestOrdner\DateiMitUmlautää.txt Size: 671
C:\TestOrdner\DateiOhneUmlaut.txt Size: 418
1089

Was für Zeichen hat denn deine Datei, das schaut ja nicht nur nach Umlauten aus, sondern nach irgendwelchen russischen Zeichen. Ich kann es nicht sagen, da es nur Fragezeichen sind, und die sind zumindest im Windows-System nicht in Dateinamen erlaubt.

Zeig auch mal, was
Code:
System.out.println( System.getProperty( "file.encoding" ) );
ausgibt.
 

visara

Mitglied
Hmm, ich glaube es liegt daran, dass ich es auf OSX Lion teste.

wenn ich
Code:
System.out.println( System.getProperty( "file.encoding" ) );
ausführe kommt als Ausgabe "MacRoman".

Wenn es bei euch geklappt hat, denke ich mal es liegt an OSX.

Aber warum??

Die Originalnamen der Dateien sind:

mitUmlautenööääüü.pdf
ohneUmlaute.pdf
 

Mujahiddin

Top Contributor
Starte mal dein Programm mit dem Parameter:

Code:
-Dfile.encoding="UTF-8"

Entweder in Eclipse setzen bei "Run Configuration"

oder indem du deine jar extern startest:

Code:
java -jar -Dfile.encoding="UTF-8" MeinApp.jar
 

visara

Mitglied
Wenn ich das in die VM-Arguments eintrage, sieht die Ausgabe wie folgt aus:

Code:
/Users/visara/Desktop/test2/mitUmlautenoÔøΩÔøΩoÔøΩÔøΩaÔøΩÔøΩaÔøΩÔøΩuÔøΩÔøΩuÔøΩÔøΩ.pdfSize: 0
/Users/visara/Desktop/test2/ohneUmlaute.pdfSize: 28588
28588
UTF-8
 

Mujahiddin

Top Contributor
Da bin ich überfragt...

Ich habe mein Programm mal mit MacRoman gestartet:

Code:
MacRoman
C:\TestOrdner\DateiMitUmlaut��.txt Size: 671
C:\TestOrdner\DateiOhneUmlaut.txt Size: 418
1089

Bei mir geht's sogar mit verrückten Zeichen...

Da kann ich dir leider nicht mehr weiterhelfen.
 

visara

Mitglied
Echt komisch...
ich versuche mal irgendwas in OSX selbst zu ändern, falls ich etwas finde.

Aber bis hierhin schon einmal Danke :)

Vielleicht hat irgendjemand noch Erfahrungen gemacht bei nem Mac.

Edit: Aber bei dir wird wenigstens noch die Größe ausgelesen.
Wenn wenigstens die Größe richtig gelesen werden würde, wäre es jetzt nicht so tragisch, obwohl es halt auch komisch ist.
Aber auch das macht er ja nicht und gibt einfach nur 0 zurück.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
C Probleme beim Erstellen eines runnable-jar files Allgemeine Java-Themen 1
H Mehrere PNG-Files in einer Datei Allgemeine Java-Themen 9
R Delete files before creating new from temp using Java file method Allgemeine Java-Themen 1
X Files.walkFileTree zählt nicht richtig Allgemeine Java-Themen 2
L Mehrere .Jar Files aufrufen Allgemeine Java-Themen 9
P Am Application Server - Selbe files aber trotzdem CNF Allgemeine Java-Themen 2
B Maven Zugriff auf files aus einem kompilierten jar Allgemeine Java-Themen 15
S Eigenschaften (hier Verknüpfung) eines Files lesen Allgemeine Java-Themen 2
M *.class Files ausführen Allgemeine Java-Themen 2
F Java moved Files statt sie zu kopieren Allgemeine Java-Themen 12
B Existenz eines Files max 30 sec prüfen Allgemeine Java-Themen 5
C Input/Output Zip Files über Socket senden und empfangen Allgemeine Java-Themen 6
J Java Software Compare Files und Neue File erstellen Allgemeine Java-Themen 0
X Wav-Files abspielen Allgemeine Java-Themen 2
L Zwei Files miteinander vergleichen und Grafisch darstellen Allgemeine Java-Themen 1
W audio files metadaten Allgemeine Java-Themen 2
M Threads Excel files bearbeiten Allgemeine Java-Themen 4
J Wie kann man .txt Files übers Internet verschicken? Allgemeine Java-Themen 53
K Zip-Archive mit temporären Files erstellen Allgemeine Java-Themen 16
M Verschlüsselung von Text und Files durch RSA (Encoding Problem) Allgemeine Java-Themen 7
M wav-files kanäle zusammenfügen + pitchen Allgemeine Java-Themen 6
R Löschen von Files nicht möglich Allgemeine Java-Themen 11
B Files.isDirectory Allgemeine Java-Themen 14
P Ordnerstruktur nach .js-Files durchsuchen Allgemeine Java-Themen 2
L Class Files , Methode .delete() Allgemeine Java-Themen 13
P Files - nach der reihe String reinschreiben Allgemeine Java-Themen 2
J Laden von JAR Files geht ohne ADMIN Rechte sehr langsam Allgemeine Java-Themen 6
A Navigation zu Files innerhalb jar Allgemeine Java-Themen 3
P JAVA Bilder/Videos in Form von Files vergleichen Allgemeine Java-Themen 7
B Eclipse Attache source to own jar-files Allgemeine Java-Themen 2
B Permissions of Folders/Files Allgemeine Java-Themen 6
A External Sort - too many open files Allgemeine Java-Themen 6
E Files Kopieren Allgemeine Java-Themen 8
V Mac: Paketinhalt eins Files öffnen, wie? Allgemeine Java-Themen 3
M Übergabe mehrer Files an selbstprogrammieren Parser Allgemeine Java-Themen 4
reibi Separator in java.util.Properties-Files Allgemeine Java-Themen 3
M Webservices: WSDL Files ohne "Service" Element? Allgemeine Java-Themen 4
ruutaiokwu System.out auf files umlenken in log4j.xml Allgemeine Java-Themen 4
X Log files monitoren Allgemeine Java-Themen 7
reibi Files über Classpath laden Allgemeine Java-Themen 22
S Viele zip-files zu einem kombinieren..? Allgemeine Java-Themen 3
B Öffnen und schließen von Pdf-Files Allgemeine Java-Themen 8
T Class-files zur Laufzeit zu Reflection-Zwecken laden Allgemeine Java-Themen 18
R in .jar werden files nicht gefunden!!! Allgemeine Java-Themen 5
N Fehler mit Jar-Files Allgemeine Java-Themen 9
J BufferedImage aus PNG Files haben keinen Type Allgemeine Java-Themen 4
U Properties in Jar Files Allgemeine Java-Themen 3
Developer_X Extract Zip Files with Java Allgemeine Java-Themen 21
N 2 files auf gleichheit vergleichen Allgemeine Java-Themen 5
A Get all Files in Workspace Allgemeine Java-Themen 9
Quaxli Files massenhaft löschen Allgemeine Java-Themen 3
N Versionierung von jar-Files Allgemeine Java-Themen 5
Daniel_L Best Practice zum Löschen von Log-Files? Allgemeine Java-Themen 8
V aus mehreren jar files, ein großes basteln Allgemeine Java-Themen 22
J Too many open files Allgemeine Java-Themen 11
J Eclipse: Einbindung von jar-Files funktioniert nicht Allgemeine Java-Themen 4
O .jar Files - Tools zum generieren Allgemeine Java-Themen 25
A Problem: Mehrere PDF-Files nacheinander Öffnen Allgemeine Java-Themen 12
A jpeg Files mit eigenem Programm öffnen Allgemeine Java-Themen 4
M Embedded Files aus PDF extrahieren Allgemeine Java-Themen 3
J Too many files open Allgemeine Java-Themen 4
M Debuggen von Code in jar-Files? Allgemeine Java-Themen 5
G Sonderzeichen für Files Allgemeine Java-Themen 5
G bestimmte Files suchen Allgemeine Java-Themen 2
reibi Classenpath mit mehreren gleichen jar-Files Allgemeine Java-Themen 7
M Die gleiche Klasse in mehreren JAR files Allgemeine Java-Themen 5
M Probleme mit jar-files Allgemeine Java-Themen 5
G Bearbeiten von Files in einem Thread Allgemeine Java-Themen 4
reibi Klassenpfad für jar-Files Allgemeine Java-Themen 7
J Alte Log Files löschen mit log4j Allgemeine Java-Themen 3
D Files umbenennen mit renameTo() Allgemeine Java-Themen 5
I Pfadangabe zu Files Allgemeine Java-Themen 2
X PowerPoint Files in Java erzeugen Allgemeine Java-Themen 2
sparrow Ant build-files rekursiv aus ant aufrufen Allgemeine Java-Themen 3
K "Too many open files" bei Property List Allgemeine Java-Themen 5
T Mp3 files? Allgemeine Java-Themen 2
I Files einlesen Allgemeine Java-Themen 3
I Diverse Files aus Ordner auslesen Allgemeine Java-Themen 10
mabu Erstellen/Entpacken von Cabinet-Files Allgemeine Java-Themen 12
T Jar-Files und JVM-Cache? Allgemeine Java-Themen 2
P eingebundene *.jar- Files Allgemeine Java-Themen 28
G policy files laden? Allgemeine Java-Themen 8
T Files an das Betriebsystem übergeben such ideen! Allgemeine Java-Themen 3
M auf files des packages zugreifen Allgemeine Java-Themen 2
A Versionierung von Class-Files Allgemeine Java-Themen 10
vogella Korrektur der Filetypenzuordnung für .jar Files unter Window Allgemeine Java-Themen 2
S Files umbennen Allgemeine Java-Themen 4
M laden von Klassen aus jar files Allgemeine Java-Themen 2
R Drag und Drop von externen Files geht nur als Application Allgemeine Java-Themen 2
V Jar Files Auf meinem Handy Allgemeine Java-Themen 7
D Files einlesen (XML Files) Allgemeine Java-Themen 2
N Problem mit jar und ant: kann files nicht lesen! Allgemeine Java-Themen 15
P Fortschrittszustand von gezippten Files anzeigen Allgemeine Java-Themen 6
S JAR-Files Allgemeine Java-Themen 6
F Alle Files im Ordner nach Dateinamen durchsuchen Allgemeine Java-Themen 28
P Fehlermeldung beim Speichern eines java files Allgemeine Java-Themen 5
P jar files einbinden (Eclipse) Allgemeine Java-Themen 2
G Probleme mit Class Files Allgemeine Java-Themen 16
G rar files dekomprimieren Allgemeine Java-Themen 4
V INI Files, Properties etc. Allgemeine Java-Themen 7

Ähnliche Java Themen

Neue Themen


Oben