# Ordner anlegen



## MQue (18. Mrz 2008)

Hi,

ich möchte in einem Ordner schauen, ob schon ein Ordner vorhanden ist und wenn nicht, dann möchte ich diesen anlegen, 
Ich habe in Java noch nie was mit Ordner- Anlegen gemacht, in wie weit ist das plattform(un)abhängig?


----------



## Michael... (18. Mrz 2008)

new File(pfadName).createNewFile()
legt den Ordner an falls er noch nicht existiert (s.API)


----------



## thE_29 (18. Mrz 2008)

Ähm!
createNewFile legt dir ne neue Datei an! Deswegen heißts ja auch createNewFile()

Wie wärs mit File.mkdir() oder File.mkdirs()


----------



## Michael... (18. Mrz 2008)

sry, bei Ordner selbstverständlich mkdir() sollte vielleicht selbst mal wieder nen Blick die API werfen ;-)


----------



## MQue (18. Mrz 2008)

Michael... hat gesagt.:
			
		

> new File(pfadName).createNewFile()



Das legt mir ein FILE an aber keinen Ordner, oder mache ich da was falsch:


```
new File(System.getProperty("user.dir") + "/hallo/").createNewFile();
```


EDIT: Habs schon gesehen!!!!
Danke


----------



## MQue (18. Mrz 2008)

eine kleine Frage hätte ich noch und zwar lege ich in meinem Programmverzeichnis einen Ordner an, mache dann eine JFileChooser, wähle mit diesem ein File aus (z.B.: test.jpeg) und möchte test.jpeg dann in den neu angelegten Ordner kopieren,

Geht das irgendwie einfach?
Danke,
Michael


----------



## Verjigorm (18. Mrz 2008)

```
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.channels.FileChannel;

public class DateiKopierenClass {
    
    public static void main(String[] args) throws IOException {
        // Pfade entsprechend anpassen
        File inF = new File("/home/user/inputFile.txt");
        File outF = new File("/home/user/outputFile.txt");
        copyFile(inF, outF);
    }
    
    public static void copyFile(File in, File out) throws IOException {
        FileChannel inChannel = new FileInputStream(in).getChannel();
        FileChannel outChannel = new FileOutputStream(out).getChannel();
        try {
            inChannel.transferTo(0, inChannel.size(), outChannel);
        } catch (IOException e) {
            throw e;
        } finally {
            if (inChannel != null)
                inChannel.close();
            if (outChannel != null)
                outChannel.close();
        }
    }
}
```


----------



## MQue (19. Mrz 2008)

Hallo,

habs jetzt versucht mit der oberen Klasse, bekomme aber folgenden Fehler:


```
Exception in thread "main" java.io.FileNotFoundException: C:\PfadWoEsHingehört\java (Zugriff verweigert)
        at java.io.FileOutputStream.open(Native Method)
        at java.io.FileOutputStream.<init>(FileOutputStream.java:179)
        at java.io.FileOutputStream.<init>(FileOutputStream.java:131)
        at copyfile.DateiKopierenClass.copyFile(DateiKopierenClass.java:20)
        at copyfile.DateiKopierenClass.main(DateiKopierenClass.java:15)
Java Result: 1
```

EDIT:   AHH ich hab verstanden, bei einer Textdatei müssen die Quelldatei und die Zieldatei vorhanden sein und es wird von der Quelldatei in die Zieldatei kopiert- Das funktioniert mit dem oberen Programm

Leider gibts bei mit die Zieldatei noch nicht und ich möchte BildDateien (*.jpeg, *.png, usw) kopieren,
Geht das auch irgendwie?

lg


----------

