このディレクトリからすべてのファイルをダウンロードしようとしています。ただし、URLを1つのファイルとしてダウンロードすることしかできません。私に何ができる?私はこの問題を検索しようとしましたが、混乱し、人々は代わりに httpclients を使用することを提案し始めました。助けてくれてありがとう、これはこれまでの私のコードです。入力ストリームを使用してディレクトリ内のすべてのファイルを取得することをお勧めします。それは配列に入りますか?ここでチュートリアルhttp://docs.oracle.com/javase/tutorial/networking/urls/を試しましたが、理解するのに役立ちませんでした。
//ProgressBar/Install
String URL_LOCATION = "http://www.futureretrogaming.tk/gamefiles/ProfessorPhys/";
String LOCAL_FILE = filelocation.getText() + "\\ProfessorPhys\\";
try {
java.net.URL url = new URL(URL_LOCATION);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.addRequestProperty("User-Agent", "Mozilla/4.76");
//URLConnection connection = url.openConnection();
BufferedInputStream stream = new BufferedInputStream(connection.getInputStream());
int available = stream.available();
byte b[]= new byte[available];
stream.read(b);
File file = new File(LOCAL_FILE);
OutputStream out = new FileOutputStream(file);
out.write(b);
} catch (Exception e) {
System.err.println(e);
}
ダウンロードするファイルのリストを返すこのコードも見つけました。誰かが2つのコードを組み合わせるのを手伝ってくれますか?
public class GetAllFilesInDirectory {
public static void main(String[] args) throws IOException {
File dir = new File("dir");
System.out.println("Getting all files in " + dir.getCanonicalPath() + " including those in subdirectories");
List<File> files = (List<File>) FileUtils.listFiles(dir, TrueFileFilter.INSTANCE, TrueFileFilter.INSTANCE);
for (File file : files) {
System.out.println("file: " + file.getCanonicalPath());
}
}
}