Попытка скачать все pdf-файлы на веб-сайте, и у меня плохой код. Наверное, там лучше. Anyways вот он:Загрузить все pdf-файлы на веб-сайте
try {
System.out.println("Download started");
URL getURL = new URL("http://cs.lth.se/eda095/foerelaesningar/?no_cache=1");
URL pdf;
URLConnection urlC = getURL.openConnection();
InputStream is = urlC.getInputStream();
BufferedReader buffRead = new BufferedReader(new InputStreamReader(is));
FileOutputStream fos = null;
byte[] b = new byte[1024];
String line;
double i = 1;
int t = 1;
int length;
while((line = buffRead.readLine()) != null) {
while((length = is.read(b)) > -1) {
if(line.contains(".pdf")) {
pdf = new URL("http://fileadmin.cs.lth.se/cs/Education/EDA095/2015/lectures/"
+ "f" + i + "-" + t + "x" + t);
fos = new FileOutputStream(new File("fil" + i + "-" + t + "x" + t + ".pdf"));
fos.write(b, 0, line.length());
i += 0.5;
t += 1;
if(t > 2) {
t = 1;
}
}
}
}
is.close();
System.out.println("Download finished");
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
Файлы, которые я получаю, являются повреждением, НО есть лучший способ загрузить файлы PDF? Потому что на сайте некоторые из файлов: f1-1x1, f1-2x2, f2-1x1 .. Но что, если файлы были donald.pdf stack.pdf и т. Д.
Так что вопрос будет, как мне сделать мой код лучше для загрузки всех файлов PDF?
Вы абсолютно правы. В этом курсе я должен научиться загружать ссылки, которые указывают на файлы PDF без HTML-анализатора. EDIT: Я добровольно беру этот курс в свободное время. – bCM
Я предполагаю, что ваша цель обучения должна быть придумана с различными стратегиями о том, как это сделать ** **. Что вы узнали от других людей, изучающих пространство опций для вас? – GhostCat
С одной стороны, я не могу возражать против этого, потому что ур прав. И другая часть - это то, что я делаю курс проекта с несколькими одноклассниками, и я хотел реализовать многопользовательский вариант. В этом случае мне пришлось изучать сетевое программирование, поэтому время короткое и заканчивается. – bCM