From 9b4433fddf5b401edb0aace8a404ac733b122702 Mon Sep 17 00:00:00 2001 From: 田源 <tianyuan@vci-tech.com> Date: 星期四, 03 四月 2025 14:35:02 +0800 Subject: [PATCH] 添加非密字段显示 --- Source/BladeX-Tool/blade-core-tool/src/main/java/org/springblade/core/tool/utils/IoUtil.java | 109 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 109 insertions(+), 0 deletions(-) diff --git a/Source/BladeX-Tool/blade-core-tool/src/main/java/org/springblade/core/tool/utils/IoUtil.java b/Source/BladeX-Tool/blade-core-tool/src/main/java/org/springblade/core/tool/utils/IoUtil.java new file mode 100644 index 0000000..f3dc7b0 --- /dev/null +++ b/Source/BladeX-Tool/blade-core-tool/src/main/java/org/springblade/core/tool/utils/IoUtil.java @@ -0,0 +1,109 @@ +/* + * Copyright (c) 2018-2028, DreamLu All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * Neither the name of the dreamlu.net developer nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * Author: DreamLu 鍗㈡槬姊� (596392912@qq.com) + */ + +package org.springblade.core.tool.utils; + +import org.springframework.lang.Nullable; + +import java.io.*; +import java.nio.charset.Charset; + +/** + * 娴佸伐鍏风被 + * + * @author L.cm + */ +public class IoUtil extends org.springframework.util.StreamUtils { + + /** + * closeQuietly + * + * @param closeable 鑷姩鍏抽棴 + */ + public static void closeQuietly(@Nullable Closeable closeable) { + if (closeable == null) { + return; + } + if (closeable instanceof Flushable) { + try { + ((Flushable) closeable).flush(); + } catch (IOException ignored) { + // ignore + } + } + try { + closeable.close(); + } catch (IOException ignored) { + // ignore + } + } + + /** + * InputStream to String utf-8 + * + * @param input the <code>InputStream</code> to read from + * @return the requested String + */ + public static String readToString(InputStream input) { + return readToString(input, Charsets.UTF_8); + } + + /** + * InputStream to String + * + * @param input the <code>InputStream</code> to read from + * @param charset the <code>Charset</code> + * @return the requested String + */ + public static String readToString(@Nullable InputStream input, Charset charset) { + try { + return IoUtil.copyToString(input, charset); + } catch (IOException e) { + throw Exceptions.unchecked(e); + } finally { + IoUtil.closeQuietly(input); + } + } + + public static byte[] readToByteArray(@Nullable InputStream input) { + try { + return IoUtil.copyToByteArray(input); + } catch (IOException e) { + throw Exceptions.unchecked(e); + } finally { + IoUtil.closeQuietly(input); + } + } + + /** + * Writes chars from a <code>String</code> to bytes on an + * <code>OutputStream</code> using the specified character encoding. + * <p> + * This method uses {@link String#getBytes(String)}. + * </p> + * @param data the <code>String</code> to write, null ignored + * @param output the <code>OutputStream</code> to write to + * @param encoding the encoding to use, null means platform default + * @throws NullPointerException if output is null + * @throws IOException if an I/O error occurs + */ + public static void write(@Nullable final String data, final OutputStream output, final Charset encoding) throws IOException { + if (data != null) { + output.write(data.getBytes(encoding)); + } + } +} -- Gitblit v1.9.3