|
@@ -0,0 +1,108 @@
|
|
|
+package com.miaxis.test;
|
|
|
+
|
|
|
+import com.miaxis.common.utils.StringUtils;
|
|
|
+import com.miaxis.common.utils.poi.ExcelUtil;
|
|
|
+import com.miaxis.domain.Test;
|
|
|
+
|
|
|
+import java.io.*;
|
|
|
+import java.net.HttpURLConnection;
|
|
|
+import java.net.URL;
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
+public class Test03 {
|
|
|
+
|
|
|
+
|
|
|
+ public void testExcel() throws Exception {
|
|
|
+
|
|
|
+ File file = new File("G:\\中正\\题库图\\一点通题库图片.xls");
|
|
|
+ InputStream inputStream = new FileInputStream(file);
|
|
|
+ ExcelUtil<Test> util = new ExcelUtil<Test>(Test.class);
|
|
|
+ List<Test> testList = util.importExcel(inputStream);
|
|
|
+ System.out.println(testList.size());
|
|
|
+ if(StringUtils.isNull(testList) || testList.size()==0) {
|
|
|
+ System.out.println("导入不能为空");
|
|
|
+ } else {
|
|
|
+ for(Test t:testList){
|
|
|
+ int index = t.mediaUrl.lastIndexOf("/");
|
|
|
+ String fileName = t.mediaUrl.substring(index+1);
|
|
|
+ // System.out.println(t.mediaUrl+","+fileName);
|
|
|
+ downLoadFromUrl(t.mediaUrl,fileName,"G:\\中正\\题库图\\media");
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ public static void downLoadFromUrl(String urlStr,String fileName,String savePath) throws IOException {
|
|
|
+ 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");
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+
|
|
|
+ * 从输入流中获取字节数组
|
|
|
+
|
|
|
+ * @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 void main(String[] args) throws Exception {
|
|
|
+
|
|
|
+ Test03 t = new Test03();
|
|
|
+ t.testExcel();
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+}
|