java下载pdf文件并保存到SD卡
我想下载pdf文件并将其保存到内部存储器中。以下是我正在使用的代码:
我正在从其他类调用我的方法:
new Thread(new Runnable() {
public void run() {
new Main().downloadPdfContent("http://people.opera.com/howcome/2005/ala/sample.pdf");
}
}).start();
方法如下所示:
public void downloadPdfContent(String urlToDownload){
URLConnection urlConnection = null;
try{
URL url = new URL(urlToDownload);
//Opening connection of currrent url
urlConnection = url.openConnection();
urlConnection.connect();
//int lenghtOfFile = urlConnection.getContentLength();
String PATH = Environment.getExternalStorageDirectory() + "/1/";
File file = new File(PATH);
file.mkdirs();
File outputFile = new File(file, "test.pdf");
FileOutputStream fos = new FileOutputStream(outputFile);
InputStream is = url.openStream();
byte[] buffer = new byte[1024];
int len1 = 0;
while ((len1 = is.read(buffer)) != -1) {
fos.write(buffer, 0, len1);
}
fos.close();
is.close();
System.out.println("--pdf downloaded--ok--"+urlToDownload);
}catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
我在网上找到了pdf的链接: http://people.opera.com/howcome/2005/ala/sample.pdf
但是,我在这一行遇到了一个例外:
urlConnection。connect()强>
例外情况: java。网未知的例外:人。歌剧com
我不知道怎么了。也许有人可以看看
谢谢
# 1 楼答案
放
在你的清单上。xml
# 2 楼答案
我使用了相同的代码并获得了网络。onThreadException错误
但是在我的oncreate()方法中使用了这段代码之后,我就能够解决这个问题了
# 3 楼答案
遵循以下步骤:
1)声明文件名
2)调用方法来调用下载过程
3)定义开始下载方法:
4)对于自动加载进度条:
5)定义下载过程扩展异步任务
6)用dir中的文件路径替换“Your_file_save_path”。然后下载并签入指定位置