2016-07-05 7 views
1

私はFTPサーバーに接続し、apache.commonsのようなライブラリを使わずにすべてのファイルをブラウズする必要があります。 。JavaがFTPサーバーに接続し、Javaのデフォルトライブラリを使用してファイルをダウンロードする

私は、単純なURL接続を使用してみました:

URL url = new URL("username:[email protected]/folder/"); 
URLConnection conn = url.openConnection(); 
BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream())); 

String line; 

while ((line = reader.readLine()) != null) { 
    System.out.println(line); 
} 

reader.close(); 

私はそれが動作/folder/が含まれていませんが、それは私がしてもFTPのホームの場所で見ることができない多くのものを印刷した場合サーバー、私はそれが私にファイルまたは他のデータを与えるかわからない。

しかし、私は/folder/を含ん行うとき、私は、エラーCWD /folder/:550 failed to change directory

を取得し、私は、directoyの権限を変更するその読み取り専用と私は必要なもののthatsすることはできません。

どうしたのですか? javaのデフォルトライブラリだけでも可能ですか?

+0

このリンクをチェックしてください。http://www.codejava.net/java-se/networking/ftp/using-urlconnection-to-list-files-and-directories-on-ftp-server – aravindKrishna

答えて

2

まず、あなたは、FTPのURLを使用する必要があります。

URL url = new URL("ftp:username:[email protected]/folder/"); 

usernamepasswordを想定し、その正しい値で置換されています。

第2に、folderへのFTPアクセス権を持っていれば、何らかの形式のディレクトリリストをお届けします。そうしないと、あなたが受け取る例外メッセージを調べる必要があります。 /folderを省略すると、FTPサーバーのデフォルトルートディレクトリが何であっても、usernameのリストが表示されます。コード550は、アクセスの問題またはディレクトリが存在しないことを意味します。

関連する問題