远程下载文件

默认信任远程核心服务

/**
* 远程下载文件并读取返回
* @param filePath 文件网络地址 http://www.baidu.com/1.txt
* @return String
*/
public String DownAndReadFile(String filePath){
String date = new SimpleDateFormat("yyyy-MM-dd").format(new Date());
File savePath = new File("D://"+date);//创建新文件
if (!savePath.exists()) {
savePath.mkdir();
}
String[] urlname = filePath.split("/");
int len = urlname.length-1;
String uname = urlname[len];//获取文件名
System.out.println("uname:"+uname);
try {
File file = new File(savePath+"//"+uname);//创建新文件
if(file!=null && !file.exists()){
file.createNewFile();
}
OutputStream oputstream = new FileOutputStream(file);
URL url = new URL(filePath);

HttpsURLConnection uc = (HttpsURLConnection) url.openConnection();
uc.setHostnameVerifier(new HostnameVerifier()
{
public boolean verify(String hostname, SSLSession session)
{
return true;
}
});

uc.setDoInput(true);//设置是否要从 URL 连接读取数据,默认为true
uc.connect();
InputStream iputstream = uc.getInputStream();
System.out.println("file size is:"+uc.getContentLength());//打印文件长度
byte[] buffer = new byte[4*1024];
int byteRead = -1;
while((byteRead=(iputstream.read(buffer)))!= -1){
oputstream.write(buffer, 0, byteRead);
}
oputstream.flush();
iputstream.close();
oputstream.close();
//读取文件
StringBuffer strb = new StringBuffer();
FileInputStream fs = new FileInputStream(new File(savePath+"//"+uname));
InputStreamReader isr = new InputStreamReader(fs,"UTF-8");
BufferedReader br = new BufferedReader(isr);
String data = "";
while((data = br.readLine()) != null){
strb.append(data + "\n");
}
br.close();
fs.close();
isr.close();
System.out.println(strb.toString());
return strb.toString();

} catch (Exception e) {
System.out.println("读取失败!");
e.printStackTrace();
}
return null;
}


该资料摘自与网上
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值