|
|
@@ -0,0 +1,178 @@
|
|
|
+/*
|
|
|
+ * FileUtils。java
|
|
|
+ *
|
|
|
+ * Created Date: 2015年1月8日
|
|
|
+ *
|
|
|
+ * Copyright (c) Centling Technologies Co., Ltd.
|
|
|
+ *
|
|
|
+ * This software is the confidential and proprietary information of
|
|
|
+ * Centling Technologies Co., Ltd. ("Confidential Information"). You shall not
|
|
|
+ * disclose such Confidential Information and shall use it only in accordance
|
|
|
+ * with the terms of the license agreement you entered into with
|
|
|
+ * Centling Technologies Co., Ltd.
|
|
|
+ */
|
|
|
+
|
|
|
+package com.common.workflow.service.util;
|
|
|
+
|
|
|
+import java.io.*;
|
|
|
+import java.net.HttpURLConnection;
|
|
|
+import java.net.URL;
|
|
|
+
|
|
|
+/**
|
|
|
+ * @author ted.ma
|
|
|
+ * @version <br>
|
|
|
+ * <p>文件上传解析工具类</p>
|
|
|
+ */
|
|
|
+
|
|
|
+public class FileUtils {
|
|
|
+ /**
|
|
|
+ * get postfix of the path
|
|
|
+ * @param path
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public static String getPostfix(String path) {
|
|
|
+ if (path == null || "".equals(path.trim())) {
|
|
|
+ return "";
|
|
|
+ }
|
|
|
+ if (path.contains(".")) {
|
|
|
+ return path.substring(path.lastIndexOf(".") + 1, path.length());
|
|
|
+ }
|
|
|
+ return "";
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 从网络Url中下载文件
|
|
|
+ *
|
|
|
+ * @param urlStr
|
|
|
+ * @param fileName
|
|
|
+ * @param savePath
|
|
|
+ * @throws IOException
|
|
|
+ */
|
|
|
+ public static String downLoadFromUrl(String urlStr, String fileName, String savePath) {
|
|
|
+ try {
|
|
|
+
|
|
|
+ URL url = new URL(urlStr);
|
|
|
+ HttpURLConnection conn = (HttpURLConnection) url.openConnection();
|
|
|
+ // 设置超时间为3秒
|
|
|
+ conn.setConnectTimeout(3 * 1000);
|
|
|
+ // 防止屏蔽程序抓取而返回403错误
|
|
|
+ conn.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");
|
|
|
+
|
|
|
+ // 得到输入流
|
|
|
+ InputStream inputStream = conn.getInputStream();
|
|
|
+ // 获取自己数组
|
|
|
+ byte[] getData = readInputStream(inputStream);
|
|
|
+
|
|
|
+ // 文件保存位置
|
|
|
+ File saveDir = new File(savePath);
|
|
|
+ if (!saveDir.exists()) {
|
|
|
+ saveDir.mkdir();
|
|
|
+ }
|
|
|
+ File file = new File(saveDir + File.separator + fileName);
|
|
|
+ FileOutputStream fos = new FileOutputStream(file);
|
|
|
+ fos.write(getData);
|
|
|
+ if (fos != null) {
|
|
|
+ fos.close();
|
|
|
+ }
|
|
|
+ if (inputStream != null) {
|
|
|
+ inputStream.close();
|
|
|
+ }
|
|
|
+ // System.out.println("info:"+url+" download success");
|
|
|
+ return saveDir + File.separator + fileName;
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ return "";
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 从输入流中获取字节数组
|
|
|
+ *
|
|
|
+ * @param inputStream
|
|
|
+ * @return
|
|
|
+ * @throws IOException
|
|
|
+ */
|
|
|
+ public static byte[] readInputStream(InputStream inputStream) throws IOException {
|
|
|
+ byte[] buffer = new byte[1024];
|
|
|
+ int len = 0;
|
|
|
+ ByteArrayOutputStream bos = new ByteArrayOutputStream();
|
|
|
+ while ((len = inputStream.read(buffer)) != -1) {
|
|
|
+ bos.write(buffer, 0, len);
|
|
|
+ }
|
|
|
+ bos.close();
|
|
|
+ return bos.toByteArray();
|
|
|
+ }
|
|
|
+
|
|
|
+ public static String saveFileToServerPath(InputStream inputStream, String fileName, String savePath) {
|
|
|
+ try {
|
|
|
+ byte[] getData = readInputStream(inputStream);
|
|
|
+
|
|
|
+ // 文件保存位置
|
|
|
+ File saveDir = new File(savePath);
|
|
|
+ if (!saveDir.exists()) {
|
|
|
+ saveDir.mkdir();
|
|
|
+ }
|
|
|
+ File file = new File(saveDir + File.separator + fileName);
|
|
|
+ FileOutputStream fos = new FileOutputStream(file);
|
|
|
+ fos.write(getData);
|
|
|
+ if (fos != null) {
|
|
|
+ fos.close();
|
|
|
+ }
|
|
|
+ if (inputStream != null) {
|
|
|
+ inputStream.close();
|
|
|
+ }
|
|
|
+ // System.out.println("info:"+url+" download success");
|
|
|
+ return saveDir + File.separator + fileName;
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ return "";
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ public static String saveFileToServerPath(byte[] getData, String fileName, String savePath) {
|
|
|
+ try {
|
|
|
+ // 文件保存位置
|
|
|
+ File saveDir = new File(savePath);
|
|
|
+ if (!saveDir.exists()) {
|
|
|
+ saveDir.mkdir();
|
|
|
+ }
|
|
|
+ File file = new File(saveDir + File.separator + fileName);
|
|
|
+ FileOutputStream fos = new FileOutputStream(file);
|
|
|
+ fos.write(getData);
|
|
|
+ if (fos != null) {
|
|
|
+ fos.close();
|
|
|
+ }
|
|
|
+ // System.out.println("info:"+url+" download success");
|
|
|
+ return saveDir + File.separator + fileName;
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ return "";
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ public static String getExcelTemplatePath() {
|
|
|
+ String pathName = "";
|
|
|
+ String os = System.getProperty("os.name");
|
|
|
+ if (os != null && os.startsWith("Windows")) {
|
|
|
+ pathName = "D:/excel_templates";
|
|
|
+ } else {
|
|
|
+ pathName = "/tmp/excel_templates";
|
|
|
+ }
|
|
|
+ return pathName;
|
|
|
+ }
|
|
|
+
|
|
|
+ public static String getPdfTemplatePath() {
|
|
|
+ String pathName = "";
|
|
|
+ String os = System.getProperty("os.name");
|
|
|
+ if (os != null && os.startsWith("Windows")) {
|
|
|
+ pathName = "C:/pdf_templates";
|
|
|
+ } else {
|
|
|
+ pathName = "/tmp/pdf_templates";
|
|
|
+ }
|
|
|
+ return pathName;
|
|
|
+ }
|
|
|
+
|
|
|
+}
|