Commit 4d4c1844 authored by Liang Ding's avatar Liang Ding

🎨 使用 try-with-resources 关闭 IO 流

parent 0e29d32a
...@@ -15,7 +15,6 @@ ...@@ -15,7 +15,6 @@
*/ */
package org.b3log.solo.processor; package org.b3log.solo.processor;
import org.apache.commons.io.IOUtils;
import org.b3log.latke.image.Image; import org.b3log.latke.image.Image;
import org.b3log.latke.logging.Level; import org.b3log.latke.logging.Level;
import org.b3log.latke.logging.Logger; import org.b3log.latke.logging.Logger;
...@@ -43,7 +42,7 @@ import java.util.Set; ...@@ -43,7 +42,7 @@ import java.util.Set;
* Captcha processor. * Captcha processor.
* *
* @author <a href="http://88250.b3log.org">Liang Ding</a> * @author <a href="http://88250.b3log.org">Liang Ding</a>
* @version 2.0.0.0, Feb 13, 2018 * @version 2.0.0.1, Apr 5, 2018
* @since 0.3.1 * @since 0.3.1
*/ */
@RequestProcessor @RequestProcessor
...@@ -108,15 +107,13 @@ public class CaptchaProcessor { ...@@ -108,15 +107,13 @@ public class CaptchaProcessor {
response.setHeader("Cache-Control", "no-cache"); response.setHeader("Cache-Control", "no-cache");
response.setDateHeader("Expires", 0); response.setDateHeader("Expires", 0);
final ByteArrayOutputStream baos = new ByteArrayOutputStream(); try (final ByteArrayOutputStream baos = new ByteArrayOutputStream()) {
ImageIO.write(bufferedImage, "png", baos); ImageIO.write(bufferedImage, "png", baos);
final byte[] data = baos.toByteArray(); final byte[] data = baos.toByteArray();
IOUtils.closeQuietly(baos); final Image captchaImg = new Image();
captchaImg.setData(data);
final Image captchaImg = new Image(); renderer.setImage(captchaImg);
captchaImg.setData(data); }
renderer.setImage(captchaImg);
} catch (final Exception e) { } catch (final Exception e) {
LOGGER.log(Level.ERROR, e.getMessage(), e); LOGGER.log(Level.ERROR, e.getMessage(), e);
} }
......
...@@ -53,7 +53,7 @@ import java.util.*; ...@@ -53,7 +53,7 @@ import java.util.*;
* File upload processor. * File upload processor.
* *
* @author <a href="http://88250.b3log.org">Liang Ding</a> * @author <a href="http://88250.b3log.org">Liang Ding</a>
* @version 1.0.0.1, Mar 15, 2018 * @version 1.0.0.2, Apr 5, 2018
* @since 2.8.0 * @since 2.8.0
*/ */
@RequestProcessor @RequestProcessor
...@@ -131,11 +131,10 @@ public class FileUploadProcessor { ...@@ -131,11 +131,10 @@ public class FileUploadProcessor {
return; return;
} }
final OutputStream output = resp.getOutputStream(); try (final OutputStream output = resp.getOutputStream()) {
IOUtils.write(data, output); IOUtils.write(data, output);
output.flush(); output.flush();
}
IOUtils.closeQuietly(output);
} }
/** /**
...@@ -215,10 +214,10 @@ public class FileUploadProcessor { ...@@ -215,10 +214,10 @@ public class FileUploadProcessor {
uploadManager.put(file.getFileInputStream(), fileName, uploadToken, null, contentType); uploadManager.put(file.getFileInputStream(), fileName, uploadToken, null, contentType);
succMap.put(originalName, qiniu.optString(Option.ID_C_QINIU_DOMAIN) + "/" + fileName); succMap.put(originalName, qiniu.optString(Option.ID_C_QINIU_DOMAIN) + "/" + fileName);
} else { } else {
final OutputStream output = new FileOutputStream(Solos.UPLOAD_DIR_PATH + fileName); try (final OutputStream output = new FileOutputStream(Solos.UPLOAD_DIR_PATH + fileName);
IOUtils.copy(file.getFileInputStream(), output); final InputStream input = file.getFileInputStream()) {
IOUtils.closeQuietly(file.getFileInputStream()); IOUtils.copy(input, output);
IOUtils.closeQuietly(output); }
succMap.put(originalName, Latkes.getServePath() + "/upload/" + fileName); succMap.put(originalName, Latkes.getServePath() + "/upload/" + fileName);
} }
} catch (final Exception e) { } catch (final Exception e) {
......
...@@ -72,7 +72,7 @@ import java.util.*; ...@@ -72,7 +72,7 @@ import java.util.*;
* Admin console render processing. * Admin console render processing.
* *
* @author <a href="http://88250.b3log.org">Liang Ding</a> * @author <a href="http://88250.b3log.org">Liang Ding</a>
* @version 1.7.0.1, Nov 20, 2017 * @version 1.7.0.2, Apr 5, 2018
* @since 0.4.1 * @since 0.4.1
*/ */
@RequestProcessor @RequestProcessor
...@@ -399,16 +399,15 @@ public class AdminConsole { ...@@ -399,16 +399,15 @@ public class AdminConsole {
try { try {
final byte[] data = sql.getBytes("UTF-8"); final byte[] data = sql.getBytes("UTF-8");
try (final OutputStream output = new FileOutputStream(localFile)) {
final OutputStream output = new FileOutputStream(localFile); IOUtils.write(data, output);
IOUtils.write(data, output); }
IOUtils.closeQuietly(output);
final File zipFile = ZipUtil.zip(localFile); final File zipFile = ZipUtil.zip(localFile);
byte[] zipData;
final FileInputStream inputStream = new FileInputStream(zipFile); try (final FileInputStream inputStream = new FileInputStream(zipFile)) {
final byte[] zipData = IOUtils.toByteArray(inputStream); zipData = IOUtils.toByteArray(inputStream);
IOUtils.closeQuietly(inputStream); }
response.setContentType("application/zip"); response.setContentType("application/zip");
final String fileName = "solo-sql-" + date + ".zip"; final String fileName = "solo-sql-" + date + ".zip";
...@@ -455,24 +454,19 @@ public class AdminConsole { ...@@ -455,24 +454,19 @@ public class AdminConsole {
final JSONObject json = exportService.getJSONs(); final JSONObject json = exportService.getJSONs();
final byte[] data = json.toString(4).getBytes("UTF-8"); final byte[] data = json.toString(4).getBytes("UTF-8");
final OutputStream output = new FileOutputStream(localFile); try (final OutputStream output = new FileOutputStream(localFile)) {
IOUtils.write(data, output); IOUtils.write(data, output);
IOUtils.closeQuietly(output); }
final File zipFile = ZipUtil.zip(localFile);
final FileInputStream inputStream = new FileInputStream(zipFile);
final byte[] zipData = IOUtils.toByteArray(inputStream);
IOUtils.closeQuietly(inputStream);
response.setContentType("application/zip");
final String fileName = "solo-json-" + date + ".zip";
response.setHeader("Content-Disposition", "attachment; filename=\"" + fileName + "\"");
final ServletOutputStream outputStream = response.getOutputStream(); try (final FileInputStream inputStream = new FileInputStream(ZipUtil.zip(localFile));
outputStream.write(zipData); final ServletOutputStream outputStream = response.getOutputStream()) {
outputStream.flush(); final byte[] zipData = IOUtils.toByteArray(inputStream);
outputStream.close(); response.setContentType("application/zip");
final String fileName = "solo-json-" + date + ".zip";
response.setHeader("Content-Disposition", "attachment; filename=\"" + fileName + "\"");
outputStream.write(zipData);
outputStream.flush();
}
} catch (final Exception e) { } catch (final Exception e) {
LOGGER.log(Level.ERROR, "Export failed", e); LOGGER.log(Level.ERROR, "Export failed", e);
context.renderJSON().renderMsg("Export failed, please check log"); context.renderJSON().renderMsg("Export failed, please check log");
...@@ -530,19 +524,18 @@ public class AdminConsole { ...@@ -530,19 +524,18 @@ public class AdminConsole {
exportHexoMd(drafts, draftDir.getPath()); exportHexoMd(drafts, draftDir.getPath());
final File zipFile = ZipUtil.zip(localFile); final File zipFile = ZipUtil.zip(localFile);
byte[] zipData;
try (final FileInputStream inputStream = new FileInputStream(zipFile)) {
zipData = IOUtils.toByteArray(inputStream);
response.setContentType("application/zip");
final String fileName = "solo-hexo-" + date + ".zip";
response.setHeader("Content-Disposition", "attachment; filename=\"" + fileName + "\"");
}
final FileInputStream inputStream = new FileInputStream(zipFile); try (final ServletOutputStream outputStream = response.getOutputStream()) {
final byte[] zipData = IOUtils.toByteArray(inputStream); outputStream.write(zipData);
IOUtils.closeQuietly(inputStream); outputStream.flush();
}
response.setContentType("application/zip");
final String fileName = "solo-hexo-" + date + ".zip";
response.setHeader("Content-Disposition", "attachment; filename=\"" + fileName + "\"");
final ServletOutputStream outputStream = response.getOutputStream();
outputStream.write(zipData);
outputStream.flush();
outputStream.close();
} catch (final Exception e) { } catch (final Exception e) {
LOGGER.log(Level.ERROR, "Export failed", e); LOGGER.log(Level.ERROR, "Export failed", e);
context.renderJSON().renderMsg("Export failed, please check log"); context.renderJSON().renderMsg("Export failed, please check log");
......
...@@ -52,7 +52,7 @@ import java.util.concurrent.*; ...@@ -52,7 +52,7 @@ import java.util.concurrent.*;
* </p> * </p>
* *
* @author <a href="http://88250.b3log.org">Liang Ding</a> * @author <a href="http://88250.b3log.org">Liang Ding</a>
* @version 2.3.0.7, Jan 13, 2018 * @version 2.3.0.8, Apr 5, 2018
* @since 0.4.5 * @since 0.4.5
*/ */
public final class Markdowns { public final class Markdowns {
...@@ -114,13 +114,14 @@ public final class Markdowns { ...@@ -114,13 +114,14 @@ public final class Markdowns {
final HttpURLConnection conn = (HttpURLConnection) url.openConnection(); final HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setDoOutput(true); conn.setDoOutput(true);
final OutputStream outputStream = conn.getOutputStream(); try (final OutputStream outputStream = conn.getOutputStream()) {
IOUtils.write("Solo 大法好", outputStream, "UTF-8"); IOUtils.write("Solo 大法好", outputStream, "UTF-8");
IOUtils.closeQuietly(outputStream); }
final InputStream inputStream = conn.getInputStream(); String html;
final String html = IOUtils.toString(inputStream, "UTF-8"); try (final InputStream inputStream = conn.getInputStream()) {
IOUtils.closeQuietly(inputStream); html = IOUtils.toString(inputStream, "UTF-8");
}
conn.disconnect(); conn.disconnect();
...@@ -232,17 +233,15 @@ public final class Markdowns { ...@@ -232,17 +233,15 @@ public final class Markdowns {
final HttpURLConnection conn = (HttpURLConnection) url.openConnection(); final HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setDoOutput(true); conn.setDoOutput(true);
final OutputStream outputStream = conn.getOutputStream(); String ret;
IOUtils.write(markdownText, outputStream, "UTF-8"); try (final OutputStream outputStream = conn.getOutputStream(); final InputStream inputStream = conn.getInputStream()) {
IOUtils.closeQuietly(outputStream); IOUtils.write(markdownText, outputStream, "UTF-8");
ret = IOUtils.toString(inputStream, "UTF-8");
final InputStream inputStream = conn.getInputStream(); }
final String html = IOUtils.toString(inputStream, "UTF-8");
IOUtils.closeQuietly(inputStream);
//conn.disconnect(); //conn.disconnect();
return html; return ret;
} }
/** /**
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment