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

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

parent 0e29d32a
......@@ -15,7 +15,6 @@
*/
package org.b3log.solo.processor;
import org.apache.commons.io.IOUtils;
import org.b3log.latke.image.Image;
import org.b3log.latke.logging.Level;
import org.b3log.latke.logging.Logger;
......@@ -43,7 +42,7 @@ import java.util.Set;
* Captcha processor.
*
* @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
*/
@RequestProcessor
......@@ -108,15 +107,13 @@ public class CaptchaProcessor {
response.setHeader("Cache-Control", "no-cache");
response.setDateHeader("Expires", 0);
final ByteArrayOutputStream baos = new ByteArrayOutputStream();
ImageIO.write(bufferedImage, "png", baos);
final byte[] data = baos.toByteArray();
IOUtils.closeQuietly(baos);
final Image captchaImg = new Image();
captchaImg.setData(data);
renderer.setImage(captchaImg);
try (final ByteArrayOutputStream baos = new ByteArrayOutputStream()) {
ImageIO.write(bufferedImage, "png", baos);
final byte[] data = baos.toByteArray();
final Image captchaImg = new Image();
captchaImg.setData(data);
renderer.setImage(captchaImg);
}
} catch (final Exception e) {
LOGGER.log(Level.ERROR, e.getMessage(), e);
}
......
......@@ -53,7 +53,7 @@ import java.util.*;
* File upload processor.
*
* @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
*/
@RequestProcessor
......@@ -131,11 +131,10 @@ public class FileUploadProcessor {
return;
}
final OutputStream output = resp.getOutputStream();
IOUtils.write(data, output);
output.flush();
IOUtils.closeQuietly(output);
try (final OutputStream output = resp.getOutputStream()) {
IOUtils.write(data, output);
output.flush();
}
}
/**
......@@ -215,10 +214,10 @@ public class FileUploadProcessor {
uploadManager.put(file.getFileInputStream(), fileName, uploadToken, null, contentType);
succMap.put(originalName, qiniu.optString(Option.ID_C_QINIU_DOMAIN) + "/" + fileName);
} else {
final OutputStream output = new FileOutputStream(Solos.UPLOAD_DIR_PATH + fileName);
IOUtils.copy(file.getFileInputStream(), output);
IOUtils.closeQuietly(file.getFileInputStream());
IOUtils.closeQuietly(output);
try (final OutputStream output = new FileOutputStream(Solos.UPLOAD_DIR_PATH + fileName);
final InputStream input = file.getFileInputStream()) {
IOUtils.copy(input, output);
}
succMap.put(originalName, Latkes.getServePath() + "/upload/" + fileName);
}
} catch (final Exception e) {
......
......@@ -72,7 +72,7 @@ import java.util.*;
* Admin console render processing.
*
* @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
*/
@RequestProcessor
......@@ -399,16 +399,15 @@ public class AdminConsole {
try {
final byte[] data = sql.getBytes("UTF-8");
final OutputStream output = new FileOutputStream(localFile);
IOUtils.write(data, output);
IOUtils.closeQuietly(output);
try (final OutputStream output = new FileOutputStream(localFile)) {
IOUtils.write(data, output);
}
final File zipFile = ZipUtil.zip(localFile);
final FileInputStream inputStream = new FileInputStream(zipFile);
final byte[] zipData = IOUtils.toByteArray(inputStream);
IOUtils.closeQuietly(inputStream);
byte[] zipData;
try (final FileInputStream inputStream = new FileInputStream(zipFile)) {
zipData = IOUtils.toByteArray(inputStream);
}
response.setContentType("application/zip");
final String fileName = "solo-sql-" + date + ".zip";
......@@ -455,24 +454,19 @@ public class AdminConsole {
final JSONObject json = exportService.getJSONs();
final byte[] data = json.toString(4).getBytes("UTF-8");
final OutputStream output = new FileOutputStream(localFile);
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 + "\"");
try (final OutputStream output = new FileOutputStream(localFile)) {
IOUtils.write(data, output);
}
final ServletOutputStream outputStream = response.getOutputStream();
outputStream.write(zipData);
outputStream.flush();
outputStream.close();
try (final FileInputStream inputStream = new FileInputStream(ZipUtil.zip(localFile));
final ServletOutputStream outputStream = response.getOutputStream()) {
final byte[] zipData = IOUtils.toByteArray(inputStream);
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) {
LOGGER.log(Level.ERROR, "Export failed", e);
context.renderJSON().renderMsg("Export failed, please check log");
......@@ -530,19 +524,18 @@ public class AdminConsole {
exportHexoMd(drafts, draftDir.getPath());
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);
final byte[] zipData = IOUtils.toByteArray(inputStream);
IOUtils.closeQuietly(inputStream);
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();
try (final ServletOutputStream outputStream = response.getOutputStream()) {
outputStream.write(zipData);
outputStream.flush();
}
} catch (final Exception e) {
LOGGER.log(Level.ERROR, "Export failed", e);
context.renderJSON().renderMsg("Export failed, please check log");
......
......@@ -52,7 +52,7 @@ import java.util.concurrent.*;
* </p>
*
* @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
*/
public final class Markdowns {
......@@ -114,13 +114,14 @@ public final class Markdowns {
final HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setDoOutput(true);
final OutputStream outputStream = conn.getOutputStream();
IOUtils.write("Solo 大法好", outputStream, "UTF-8");
IOUtils.closeQuietly(outputStream);
try (final OutputStream outputStream = conn.getOutputStream()) {
IOUtils.write("Solo 大法好", outputStream, "UTF-8");
}
final InputStream inputStream = conn.getInputStream();
final String html = IOUtils.toString(inputStream, "UTF-8");
IOUtils.closeQuietly(inputStream);
String html;
try (final InputStream inputStream = conn.getInputStream()) {
html = IOUtils.toString(inputStream, "UTF-8");
}
conn.disconnect();
......@@ -232,17 +233,15 @@ public final class Markdowns {
final HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setDoOutput(true);
final OutputStream outputStream = conn.getOutputStream();
IOUtils.write(markdownText, outputStream, "UTF-8");
IOUtils.closeQuietly(outputStream);
final InputStream inputStream = conn.getInputStream();
final String html = IOUtils.toString(inputStream, "UTF-8");
IOUtils.closeQuietly(inputStream);
String ret;
try (final OutputStream outputStream = conn.getOutputStream(); final InputStream inputStream = conn.getInputStream()) {
IOUtils.write(markdownText, outputStream, "UTF-8");
ret = IOUtils.toString(inputStream, "UTF-8");
}
//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