add Handler

This commit is contained in:
Looly
2020-04-02 10:21:21 +08:00
parent c7ce3719e8
commit b2201873ea
8 changed files with 201 additions and 44 deletions

View File

@@ -3254,10 +3254,10 @@ public class FileUtil {
*
* @param file 文件
* @param out 流
* @return 目标文件
* @return 写出的流byte数
* @throws IORuntimeException IO异常
*/
public static File writeToStream(File file, OutputStream out) throws IORuntimeException {
public static long writeToStream(File file, OutputStream out) throws IORuntimeException {
return FileReader.create(file).writeToStream(out);
}
@@ -3266,10 +3266,11 @@ public class FileUtil {
*
* @param fullFilePath 文件绝对路径
* @param out 输出流
* @return 写出的流byte数
* @throws IORuntimeException IO异常
*/
public static void writeToStream(String fullFilePath, OutputStream out) throws IORuntimeException {
writeToStream(touch(fullFilePath), out);
public static long writeToStream(String fullFilePath, OutputStream out) throws IORuntimeException {
return writeToStream(touch(fullFilePath), out);
}
/**

View File

@@ -1,5 +1,12 @@
package cn.hutool.core.io.file;
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.io.IORuntimeException;
import cn.hutool.core.io.IoUtil;
import cn.hutool.core.io.LineHandler;
import cn.hutool.core.util.CharsetUtil;
import cn.hutool.core.util.StrUtil;
import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.File;
@@ -11,13 +18,6 @@ import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.io.IORuntimeException;
import cn.hutool.core.io.IoUtil;
import cn.hutool.core.io.LineHandler;
import cn.hutool.core.util.CharsetUtil;
import cn.hutool.core.util.StrUtil;
/**
* 文件读取器
*
@@ -249,20 +249,15 @@ public class FileReader extends FileWrapper {
* 将文件写入流中
*
* @param out 流
* @return File
* @return 写出的流byte数
* @throws IORuntimeException IO异常
*/
public File writeToStream(OutputStream out) throws IORuntimeException {
FileInputStream in = null;
try {
in = new FileInputStream(file);
IoUtil.copy(in, out);
public long writeToStream(OutputStream out) throws IORuntimeException {
try (FileInputStream in = new FileInputStream(this.file)){
return IoUtil.copy(in, out);
}catch (IOException e) {
throw new IORuntimeException(e);
} finally {
IoUtil.close(in);
}
return this.file;
}
// -------------------------------------------------------------------------- Interface start