电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

Java批量寫入文件和下載圖片的示例代碼

瀏覽:2日期:2022-08-24 14:10:45

很久沒有在WhitMe上寫日記了,因為覺著在App上寫私密日記的話肯定是不安全的,但是想把日記存下來。,然后看到有導出日記的功能,就把日記導出了(還好可以直接導出,不然就麻煩點)。導出的是一個html文件。可以直接打開,排版都還在。

看了下源碼,是把日記存在一個json數組里了,圖片還是在服務器,利用url訪問,文字是在本地了。 但是想把圖片下載到本地,然后和文字對應,哪篇日記下的哪些圖片。

大概是如下的json數組。 大概有幾百條,分別是頭像、內容:文字||內容:圖片、時間。 簡單明了的json結構,就想著用java遍歷保存到本地。

[{ 'avatar': 'http://static.withme.cn/585****', 'blocks': [{ 'content': '今天天氣不錯******', 'type': 'text' }, { 'content': 'http://static.withme.cn/84ac***', 'type': 'pic' }, { 'content': 'http://static.withme.cn/5af2c***', 'type': 'pic' }, { 'content': 'http://static.withme.cn/9a4e****', 'type': 'pic' }, { 'content': 'http://static.withme.cn/9ffdb***', 'type': 'pic' }, { 'content': 'http://static.withme.cn/da5e7db***', 'type': 'pic' }, { 'content': 'http://static.withme.cn/e6ccf3764***', 'type': 'pic' }, { 'content': 'http://static.withme.cn/73ca***', 'type': 'pic' }, { 'content': 'http://static.wi***', 'type': 'pic' }, { 'content': 'http://static.withme.cn/4cf7dde****', 'type': 'pic' }], 'dateStr': '2018-09-03', 'timeStr': '18:59:41'},{...},...]

將json數組格式化確保正確然后轉成json數組遍歷。獲取到的圖片下載,文字寫入文檔。

public static void main(String[] args) { CloseableHttpClient client = null; JSONArray jsonArray = JSONArray.parseArray( '[{'avatar': 'http://static.withme.cn/585****','blocks': [{ 'content': '今天天氣不錯******', 'type': 'text'}, { 'content': 'http://static.withme.cn/84ac***', 'type': 'pic'}, { 'content': 'http://static.withme.cn/5af2c***', 'type': 'pic'}, { 'content': 'http://static.withme.cn/9a4e****', 'type': 'pic'}, { 'content': 'http://static.withme.cn/9ffdb***', 'type': 'pic'}, { 'content': 'http://static.withme.cn/da5e7db***', 'type': 'pic'}, { 'content': 'http://static.withme.cn/e6ccf3764***', 'type': 'pic'}, { 'content': 'http://static.withme.cn/73ca***', 'type': 'pic'}, { 'content': 'http://static.wi***', 'type': 'pic'}, { 'content': 'http://static.withme.cn/4cf7dde****', 'type': 'pic'}],'dateStr': '2018-09-03','timeStr': '18:59:41' },{...},{...},...]'); try { for (int m = 0; m < jsonArray.size(); m++) {JSONObject jsonPas = jsonArray.getJSONObject(m);JSONArray array = JSONArray.parseArray(jsonPas.get('blocks').toString());String time = jsonPas.get('dateStr').toString();for (int j = 0; j < array.size(); j++) { JSONObject jsPas = array.getJSONObject(j); // 遍歷 jsonarray 數組,把每一個對象轉成 json 對象 if (jsPas.get('type').equals('text')) { FileWriter fileWriter = null; try { String filePath = 'f:/13/' + time; File dir = new File(filePath); // 檢查放置文件的文件夾路徑是否存在,不存在則創建 if (!dir.exists()) {dir.mkdirs();// mkdirs創建多級目錄 } File checkFile = new File(filePath + '/text' + time + '-' + j + '.txt'); // 檢查目標文件是否存在,不存在則創建 if (!checkFile.exists()) {checkFile.createNewFile();// 創建目標文件 } // FileWriter(File file, boolean append),append為true時為追加模式,false或缺省則為覆蓋模式 fileWriter = new FileWriter(checkFile, true); String url = jsPas.get('content').toString(); // 向目標文件中寫入內容 fileWriter.append(url); fileWriter.flush(); System.out.println('寫入成功!!'); } catch (IOException e) { e.printStackTrace(); } finally { try {fileWriter.close(); } catch (IOException e) {e.printStackTrace(); } } } if (jsPas.get('type').equals('pic')) { client = HttpClients.createDefault(); String url = jsPas.get('content').toString(); String path = 'f:/13/' + time; // System.out.println(jsPas.get('content')); httpGetImg(client, url, path + '/pic' + time + '-' + j + '.jpg'); System.out.println('ok'); }} } } catch (Exception e) { e.printStackTrace(); } finally { if (client != null) {try { client.close();} catch (IOException e) { e.printStackTrace();} } } } /** * 發送get請求, 下載圖片 * * @param url 路徑 * @return */ public static void httpGetImg(CloseableHttpClient client, String imgUrl, String savePath) { // 發送get請求 HttpGet request = new HttpGet(imgUrl); // 設置請求和傳輸超時時間 RequestConfig requestConfig = RequestConfig.custom().setSocketTimeout(50000).setConnectTimeout(50000).build(); // 設置請求頭 request.setHeader('User-Agent', 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.79 Safari/537.1'); request.setConfig(requestConfig); try { CloseableHttpResponse response = client.execute(request); if (HttpStatus.SC_OK == response.getStatusLine().getStatusCode()) {HttpEntity entity = response.getEntity();InputStream in = entity.getContent();FileUtils.copyInputStreamToFile(in, new File(savePath));System.out.println('下載圖片成功:' + imgUrl); } } catch (IOException e) { e.printStackTrace(); throw new RuntimeException(e); } finally { request.releaseConnection(); } }

JAr包:

<!-- apache io操作通用jar包 --> <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.4</version> </dependency> <!-- httpclient 支持jar --> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.3.5</version> </dependency> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpmime</artifactId> <version>4.3.5</version> </dependency>

運行結果:

Java批量寫入文件和下載圖片的示例代碼

保存到本地:

Java批量寫入文件和下載圖片的示例代碼

以上就是Java批量寫入文件和下載圖片的示例代碼的詳細內容,更多關于Java批量寫入和下載的資料請關注好吧啦網其它相關文章!

標簽: Java
相關文章:
主站蜘蛛池模板: 比士亚-专业恒温恒湿酒窖,酒柜,雪茄柜的设计定制 | 天然鹅卵石滤料厂家-锰砂滤料-石英砂滤料-巩义东枫净水 | 北京自然绿环境科技发展有限公司专业生产【洗车机_加油站洗车机-全自动洗车机】 | 河北码上网络科技|邯郸小程序开发|邯郸微信开发|邯郸网站建设 | 北京发电车出租-发电机租赁公司-柴油发电机厂家 - 北京明旺盛安机电设备有限公司 | led太阳能路灯厂家价格_风光互补庭院灯_农村市政工程路灯-中山华可路灯品牌 | 硬度计,金相磨抛机_厂家-莱州华煜众信试验仪器有限公司 | 威海防火彩钢板,威海岩棉复合板,威海彩钢瓦-文登区九龙岩棉复合板厂 | 深圳货架厂_仓库货架公司_重型仓储货架_线棒货架批发-深圳市诺普泰仓储设备有限公司 | 电子巡更系统-巡检管理系统-智能巡检【金万码】 | 压滤机滤板_厢式_隔膜_板框压滤机滤板厂家价格型号材质-大凯环保 | 碳化硅,氮化硅,冰晶石,绢云母,氟化铝,白刚玉,棕刚玉,石墨,铝粉,铁粉,金属硅粉,金属铝粉,氧化铝粉,硅微粉,蓝晶石,红柱石,莫来石,粉煤灰,三聚磷酸钠,六偏磷酸钠,硫酸镁-皓泉新材料 | 安全光栅|射频导纳物位开关|音叉料位计|雷达液位计|两级跑偏开关|双向拉绳开关-山东卓信机械有限公司 | 黑龙江「京科脑康」医院-哈尔滨失眠医院_哈尔滨治疗抑郁症医院_哈尔滨精神心理医院 | 棉柔巾代加工_洗脸巾oem_一次性毛巾_浴巾生产厂家-杭州禾壹卫品科技有限公司 | 游泳池设备安装工程_恒温泳池设备_儿童游泳池设备厂家_游泳池水处理设备-东莞市君达泳池设备有限公司 | 臭氧实验装置_实验室臭氧发生器-北京同林臭氧装置网 | ERP企业管理系统永久免费版_在线ERP系统_OA办公_云版软件官网 | 能量回馈_制动单元_电梯节能_能耗制动_深圳市合兴加能科技有限公司 | 油漆辅料厂家_阴阳脚线_艺术漆厂家_内外墙涂料施工_乳胶漆专用防霉腻子粉_轻质粉刷石膏-魔法涂涂 | LHH药品稳定性试验箱-BPS系列恒温恒湿箱-意大利超低温冰箱-上海一恒科学仪器有限公司 | loft装修,上海嘉定酒店式公寓装修公司—曼城装饰 | 金属软管_不锈钢金属软管_巩义市润达管道设备制造有限公司 | ERP企业管理系统永久免费版_在线ERP系统_OA办公_云版软件官网 | PCB接线端子_栅板式端子_线路板连接器_端子排生产厂家-置恒电气 喷码机,激光喷码打码机,鸡蛋打码机,手持打码机,自动喷码机,一物一码防伪溯源-恒欣瑞达有限公司 假肢-假肢价格-假肢厂家-河南假肢-郑州市力康假肢矫形器有限公司 | 玻璃钢型材_拉挤模具_玻璃钢拉挤设备——滑县康百思 | 海日牌清洗剂-打造带电清洗剂、工业清洗剂等清洗剂国内一线品牌 海外整合营销-独立站营销-社交媒体运营_广州甲壳虫跨境网络服务 | 闸阀_截止阀_止回阀「生产厂家」-上海卡比阀门有限公司 | 南京交通事故律师-专打交通事故的南京律师 | SRRC认证_电磁兼容_EMC测试整改_FCC认证_SDOC认证-深圳市环测威检测技术有限公司 | 东莞海恒试验仪器设备有限公司 | 温湿度记录纸_圆盘_横河记录纸|霍尼韦尔记录仪-广州汤米斯机电设备有限公司 | 品牌设计_VI设计_电影海报设计_包装设计_LOGO设计-Bacross新越品牌顾问 | HDPE土工膜,复合土工膜,防渗膜价格,土工膜厂家-山东新路通工程材料有限公司 | 福州时代广告制作装饰有限公司-福州广告公司广告牌制作,福州展厅文化墙广告设计, | 杭州营业执照代办-公司变更价格-许可证办理流程_杭州福道财务管理咨询有限公司 | 对夹式止回阀厂家,温州对夹式止回阀制造商--永嘉县润丰阀门有限公司 | 玻纤土工格栅_钢塑格栅_PP焊接_单双向塑料土工格栅_复合防裂布厂家_山东大庚工程材料科技有限公司 | 航空铝型材,7系铝型材挤压,硬质阳*氧化-余润铝制品 | 杭州货架订做_组合货架公司_货位式货架_贯通式_重型仓储_工厂货架_货架销售厂家_杭州永诚货架有限公司 | 塑料瓶罐_食品塑料瓶_保健品塑料瓶_调味品塑料瓶–东莞市富慷塑料制品有限公司 |