国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術(shù)文章
文章詳情頁

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

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

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

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

大概是如下的json數(shù)組。 大概有幾百條,分別是頭像、內(nèi)容:文字||內(nèi)容:圖片、時間。 簡單明了的json結(jié)構(gòu),就想著用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數(shù)組格式化確保正確然后轉(zhuǎn)成json數(shù)組遍歷。獲取到的圖片下載,文字寫入文檔。

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 數(shù)組,把每一個對象轉(zhuǎn)成 json 對象 if (jsPas.get('type').equals('text')) { FileWriter fileWriter = null; try { String filePath = 'f:/13/' + time; File dir = new File(filePath); // 檢查放置文件的文件夾路徑是否存在,不存在則創(chuàng)建 if (!dir.exists()) {dir.mkdirs();// mkdirs創(chuàng)建多級目錄 } File checkFile = new File(filePath + '/text' + time + '-' + j + '.txt'); // 檢查目標(biāo)文件是否存在,不存在則創(chuàng)建 if (!checkFile.exists()) {checkFile.createNewFile();// 創(chuàng)建目標(biāo)文件 } // FileWriter(File file, boolean append),append為true時為追加模式,false或缺省則為覆蓋模式 fileWriter = new FileWriter(checkFile, true); String url = jsPas.get('content').toString(); // 向目標(biāo)文件中寫入內(nèi)容 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();} } } } /** * 發(fā)送get請求, 下載圖片 * * @param url 路徑 * @return */ public static void httpGetImg(CloseableHttpClient client, String imgUrl, String savePath) { // 發(fā)送get請求 HttpGet request = new HttpGet(imgUrl); // 設(shè)置請求和傳輸超時時間 RequestConfig requestConfig = RequestConfig.custom().setSocketTimeout(50000).setConnectTimeout(50000).build(); // 設(shè)置請求頭 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>

運行結(jié)果:

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

保存到本地:

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

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

標(biāo)簽: Java
相關(guān)文章:
主站蜘蛛池模板: 97超级碰碰碰碰在线视频 | 亚洲图片一区二区 | 成人国产精品免费视频 | 亚洲成人免费网址 | 手机毛片 | 99精品视频在线视频免费观看 | 亚洲在线第一页 | 日韩不卡一级毛片免费 | 亚洲人成网站观看在线播放 | 午夜国产理论 | 手机在线视频一区 | 国产精彩视频在线观看 | 免费一级特黄3大片视频 | 久久久久毛片免费观看 | 91精品国产综合久久久久 | 亚洲精品成人7777在线观看 | 国产成人精品三级91在线影院 | 日本久久网 | 最新亚洲国产有精品 | 暖暖视频日韩欧美在线观看 | 一级特黄特黄的大片免费 | 综合91| 视频一区亚洲 | 国产精品久久久久久久久久直 | 亚洲天堂男人网 | 一区二区三区亚洲 | 日韩一区二区久久久久久 | 亚洲男人天 | 亚洲天堂资源网 | 精品国产三级a在线观看 | 亚洲狠狠ady亚洲精品大秀 | 男人桶女人逼 | 国产91区 | 69交性视频 | 欧美成人观看视频在线 | 国产午夜久久影院 | 亚洲成年男人的天堂网 | 久久国产精品久久久 | cao在线 | 午夜男人女人爽爽爽视频 | 三级国产在线 |