# Java FTP - Ordner auf Server erstellen



## Developer_X (27. Jun 2011)

Sehr geehrtes Java-Forum, 
ich habe eine Frage :

Wie kann ich einen Ordner auf einem FTP-Server erstellen, (mit username und password natürlich).

Wenn ich Dateien hochladen, benutze ich immer eine URL-Connection und eine URL wo ich dann username, password, und server adresse einbaue, wie hier :

```
StringBuffer sb = new StringBuffer( "ftp://" );
	if (user != null && password != null)
	{
		sb.append( user );
		sb.append( ':' );
		sb.append( password );
		sb.append( '@' );
	}
	sb.append( ftpServer );
	sb.append( '/' );
	sb.append( fileName );

	sb.append( ";type=i" );


	URL url = new URL( sb.toString() );
	URLConnection urlc = url.openConnection();
```
und benutzte dann BufferedInput- bzw. BufferedOutput-Stream-Instanzen, denen ich den Stream der Urlconnection übergebe.

Aber wie kann ich einen Ordner erstellen?

Bitte konkreten Code.

Danke,
m.f.G. Developer_X


----------



## mjdv (27. Jun 2011)

Naja, da musst du dir eben die FTP Kommandos ansehen.



> CDUP - Change to Parent Directory
> 
> SMNT - Structure Mount
> 
> ...



RFC 959 - File Transfer Protocol

Oder du nimmst eine library, wie die von apache, dort geht das ganze durchaus einfacher.


----------



## Developer_X (28. Jun 2011)

Aber ich kriege sehr oft Fehlermeldungen, dass der Name des Ordners falsch sei, schau mal wie ich das mache :

```
StringBuffer sb = new StringBuffer( "ftp://" );

			sb.append("x");
			sb.append(':');
			sb.append("x");
			sb.append( '@' );
			sb.append("x.square7.ch/");

			URL url = new URL( sb.toString() );
			URLConnection connection = url.openConnection();		
			
			PrintStream output = new PrintStream(connection.getOutputStream());
			output.println("CWD AdventureStore");
```


```
java.io.IOException: illegal filename for a PUT
```

Warum, ich verstehe echt nicht was ich falsch mache,
kannst dus mir bitte sagen?

Danke,
m.f.G. Developer-X


----------



## Developer_X (29. Jun 2011)

Hat denn niemand eine Idee oder einen lösungsvorschlag?


----------



## Illuvatar (29. Jun 2011)

Über die URLConnection kannst du wohl nicht so mit dem Server kommunizieren, wie du das gerne hättest. Das wirst du einen Socket verwenden müssen.
Abgesehen davon, was soll das CWD da? Willst du damit den Ordner erstellen? Dann lies nochmal was mjdv geschrieben hat...


----------



## homer65 (29. Jun 2011)

Dies könnte ein Startpunkt für deine Recherche sein:
Apache Commons Net - Overview


----------



## Developer_X (30. Jun 2011)

Sry, ich habe den falschen code hochgeladen, hier in den thread, ich meinte nicht cwd sondern mkd,


----------



## Developer_X (30. Jun 2011)

Ich habe es jetzt nach einem Tipp von L-ectron-X mit SimpleFTP gelöst, danke an alle,
m.f.G. Developer_X


----------

