Если вы действительно хотите нарушить ToS SourceForges, это может помочь.
Вам нужен wget.exe, как вы и хотели.
ProcessBuilder pb = new ProcessBuilder("wget.exe","http://wurfl.cvs.sourceforge.net/viewvc/wurfl/?view=tar", "no-proxy");
Process p = pb.start();
Это будет работатьдо тех пор, пока у вас есть wget.exe в том же каталоге, что и файл класса.
Вы также можете проверить, существует ли файл, в этом случае вы должны сделать что-то из строк:
ProcessBuilder pb = new ProcessBuilder("wget.exe","http://wurfl.cvs.sourceforge.net/viewvc/wurfl/?view=tar", "no-proxy");
Process p = pb.start();
int exitValue = p.waitFor();
BufferedReader reader;
// System.out.println("Exit Value" + exitValue);
if (exitValue == 0) {
reader = new BufferedReader(new InputStreamReader(p
.getInputStream()));
} else {
reader = new BufferedReader(new InputStreamReader(p
.getErrorStream()));
}
StringBuffer sb = new StringBuffer();
String temp = reader.readLine();
while (temp != null) {
sb.append(temp);
temp = reader.readLine();
}
reader.close();
System.out.println(sb.toString());
if(sb.toString().indexOf("404") != -1) {
//means that the file does not exist
System.out.println("File does not exist, or access is denied");
} else {
if(sb.toString().indexOf("200") != -1) {
//file exists, download it
System.out.println("File exists, downloading...");
ProcessBuilder pb = new ProcessBuilder("wget.exe","http://wurfl.cvs.sourceforge.net/viewvc/wurfl/?view=tar", "no-proxy");
Process p = pb.start();
}
Но я рекомендую НЕ очищать SourceForge, если только это не ваш собственный код, который вы очищаете (я делал это однажды в качестве программы обновления).Если да, и мой пример помогает, пожалуйста, не упоминайте меня.=]
Надеюсь, я помог!