import org.apache.commons.io.IOUtils;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.nio.file.Files;
import java.util.Base64;
import static org.apache.commons.io.FileUtils.openOutputStream;
public class FileUtils {
/**
* 创建临时文件.
*
* @param inputStream
* 输入文件流
* @param name
* 文件名
* @param ext
* 扩展名
* @param tmpDirFile
* 临时文件夹目录
*/
public static File createTmpFile(InputStream inputStream, String name, String ext, File tmpDirFile)
throws IOException {
File resultFile = File.createTempFile(name, '.' + ext, tmpDirFile);
resultFile.deleteOnExit();
copyToFile(inputStream, resultFile);
return resultFile;
}
private static void copyToFile(final InputStream source, final File destination) throws IOException {
try (InputStream in = source; OutputStream out = openOutputStream(destination)) {
IOUtils.copy(in, out);
}
}
/**
* 创建临时文件.
*
* @param inputStream
* 输入文件流
* @param name
* 文件名
* @param ext
* 扩展名
*/
public static File createTmpFile(InputStream inputStream, String name, String ext) throws IOException {
return createTmpFile(inputStream, name, ext, Files.createTempDirectory("weixin-java-tools-temp").toFile());
}
/**
* 文件流生成base64
*
* @param in
* 文件流
* @return base64编码
*/
public static String imageToBase64ByStream(InputStream in) {
byte[] data = null;
// 读取图片字节数组
try {
data = new byte[in.available()];
in.read(data);
// 返回Base64编码过的字节数组字符串
return Base64.getEncoder().encodeToString(data);
} catch (IOException e) {
e.printStackTrace();
} finally {
if (in != null) {
try {
in.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return null;
}
}
FileUtils
最新推荐文章于 2023-12-26 18:07:39 发布