我已经写了这个代码供下载pdf
,url
文件url
是这个-
String fileURL= "http://www.vivekananda.net/PDFBooks/History_of_India.pdf";
编码这个
public static void DownloadFile(String fileURL, File directory) {
try {
FileOutputStream f = new FileOutputStream(directory);
URL u = new URL(fileURL);
HttpURLConnection c = (HttpURLConnection) u.openConnection();
c.setRequestMethod("GET");
c.setDoOutput(true);
c.getResponseCode();
c.connect();
InputStream in = c.getInputStream();
byte[] buffer = new byte[1024];
int len1 = 0;
while ((len1 = in.read(buffer)) > 0) {
f.write(buffer, 0, len1);
}
f.close();
} catch (Exception e) {
e.printStackTrace();
}
}
但这显示文件未找到异常,响应代码为 405。我不知道为什么会这样。请帮助..!!
这是我在 sd 卡中创建文件的代码-
编码这个
public void createPdfFile(){
String extStorageDirectory = Environment.getExternalStorageDirectory()
.toString();
File folder = new File(extStorageDirectory, "pdf");
folder.mkdir();
file = new File(folder, "storrage_data.pdf");
try {
file.createNewFile();
} catch (IOException e1) {
e1.printStackTrace();
}
}`
在此之后,我在 onResume(); 这样的线程中调用下载方法;因为来自 onCreate 它会给出错误“主线程上的网络”。现在我错了,我不知道 :(
编码这个
public void downloadFile(){
new Thread(new Runnable() {
@Override
public void run() {
Downloader.DownloadFile(url, file);
showPdf();
}
}).start();
}