**
import javax.servlet.http.HttpServletRequest;
import java.io.*;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
public class FileUtil {
/*
* 根据指定URL将文件下载到指定目标位置
* urlPath 下载路径
* downloadDir 文件存放目录
*/
public String downloadFile(HttpServletRequest request, String urlPath,String targetPaht){
File file = null;
try {
// 统一资源
URL url = new URL(urlPath);
// 连接类的父类,抽象类
URLConnection urlConnection = url.openConnection();
// http的连接类
HttpURLConnection httpURLConnection = (HttpURLConnection) urlConnection;
//设置超时
httpURLConnection.setConnectTimeout(1000*5);
//设置请求方式,默认是GET
httpURLConnection.setRequestMethod("GET");
// 设置字符编码
httpURLConnection.setRequestProperty("Charset", "UTF-8");
httpURLConnection.connect();
int fileLength = httpURLConnection.getContentLength();
BufferedInputStream bin = new BufferedInputStream(httpURLConnection.getInputStream());
String fileFullName = urlPath.substring(urlPath.lastIndexOf("/"));
// 指定存放位置
String path = "C:" + File.separatorChar + fileFullName;
file = new File(path);
// 校验文件夹目录是否存在,不存在就创建一个目录
if (!file.getParentFile().exists()) {
file.getParentFile().mkdirs();
}
OutputStream out = new FileOutputStream(file);
int size = 0;
int len = 0;
byte[] buf = new byte[2048];
while ((size = bin.read(buf)) != -1) {
len += size;
out.write(buf, 0, size);
System.out.println("下载了-------> " + len * 100 / fileLength + "%\n");
}
System.out.println("C:"+ File.separatorChar + urlPath.substring(urlPath.lastIndexOf("/")).split("/")[1]);
bin.close();
out.close();
System.out.println("文件下载成功!");
} catch (Exception e) {
System.out.println("文件下载失败!");
e.printStackTrace();
}finally {
return "C:"+ File.separatorChar + urlPath.substring(urlPath.lastIndexOf("/")).split("/")[1];
}
}
/**
* @从制定URL下载文件并保存到指定目录
* @param url 请求的路径
* @param targetFilePath 文件将要保存的目录
* @param method 请求方法,包括POST和GET
* @param targetName
* @return
*/
public static String downloadFileToTartetPath(String url, String targetFilePath, String method, String targetName){
//System.out.println("fileName---->"+filePath);
//创建不同的文件夹目录
File file=new File(targetFilePath);
//判断文件夹是否存在
if (!file.exists())
{
//如果文件夹不存在,则创建新的的文件夹
file.mkdirs();
}
//判断文件的保存路径后面是否以/结尾
if (!targetFilePath.endsWith("/")) {
targetFilePath += "/";
}
//目标文件 路径
String targetFileAllPath = targetFilePath + targetName;
FileOutputStream fileOut = null;
HttpURLConnection conn = null;
InputStream inputStream = null;
try
{
// 建立链接
URL httpUrl=new URL(url);
conn=(HttpURLConnection) httpUrl.openConnection();
//以Post方式提交表单,默认get方式
conn.setRequestMethod(method);
conn.setDoInput(true);
conn.setDoOutput(true);
// post方式不能使用缓存
conn.setUseCaches(false);
//连接指定的资源
conn.connect();
//获取网络输入流
inputStream=conn.getInputStream();
BufferedInputStream bis = new BufferedInputStream(inputStream);
//模板文件
fileOut = new FileOutputStream(targetFileAllPath);
BufferedOutputStream bos = new BufferedOutputStream(fileOut);
byte[] buf = new byte[4096];
int length = bis.read(buf);
//保存文件
while(length != -1)
{
bos.write(buf, 0, length);
length = bis.read(buf);
}
bos.close();
bis.close();
conn.disconnect();
} catch (Exception e)
{
e.printStackTrace();
System.out.println("抛出异常!!");
}
return targetFileAllPath;
}
// 删除目录及目录下的文件
public static void deleteAllFilesOfDir(File path) {
if (!path.exists())
return;
if (path.isFile()) {
path.delete();
return;
}
File[] files = path.listFiles();
for (int i = 0; i < files.length; i++) {
deleteAllFilesOfDir(files[i]);
}
path.delete();
}
/**
* 删除单个文件
*
* @param fileName
* 要删除的文件的文件名
* @return 单个文件删除成功返回true,否则返回false
*/
public static boolean deleteFile(String fileName) {
File file = new File(fileName);
// 如果文件路径所对应的文件存在,并且是一个文件,则直接删除
if (file.exists() && file.isFile()) {
if (file.delete()) {
System.out.println("删除单个文件" + fileName + "成功!");
return true;
} else {
System.out.println("删除单个文件" + fileName + "失败!");
return false;
}
} else {
System.out.println("删除单个文件失败:" + fileName + "不存在!");
return false;
}
}
}
**
String templatePath = "1http://192.168.10.17:80/group1/ampc/a.word";
String contractTemplatePath= "G:/zcy-new/hetongwenjian/";
String targetName =System.currentTimeMillis()+"hetongmoban.docx";
//将templatePath 的文件下载到 contractTemplatePath
String outTemplatePath = FileUtil.downloadFileToTartetPath(templatePath,contractTemplatePath,"GET",targetName);
//删除本地文件夹及文件
FileUtil.deleteAllFilesOfDir(new File(contractFilePathAll));
//删除单个文件
FileUtil.deleteFile(outTemplatePath);