大部分用法注释已经写明白,不做过多赘述,如有问题可向本人提问。
package com.weavernorth.file;
import java.io.*;
import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;
import weaver.conn.RecordSet;
import weaver.file.FileDownload;
import weaver.file.ImageFileManager;
import weaver.general.Util;
/**
* IO操作工具类
* @author Dylan
*
*/
public class IOUtil {
/**
* 将文件转换成byte[]
* @param filePath 需要转换的文件的路径
* @return
*/
public static byte[] File2byte(String filePath)
{
byte[] buffer = null;
try
{
File file = new File(filePath);
FileInputStream fis = new FileInputStream(file);
ByteArrayOutputStream bos = new ByteArrayOutputStream();
byte[] b = new byte[1024];
int n;
while ((n = fis.read(b)) != -1)
{
bos.write(b, 0, n);
}
fis.close();
bos.close();
buffer = bos.toByteArray();
}
catch (FileNotFoundException e)
{
e.printStackTrace();
}
catch (IOException e)
{
e.printStackTrace();
}
return buffer;
}
/**
* InputStream转byte[]
* @param is
* @return
*/
public static byte[] inputStream2byte(InputStream is) {
byte[] content = new byte[102400];
try {
int byteread;
byte data[] = new byte[1024];
ByteArrayOutputStream out = new ByteArrayOutputStream();
while ((byteread = is.read(data)) != -1) {
out.write(data, 0, byteread);
out.flush();
}
content = out.toByteArray();
is.close();
out.close();
} catch (Exception e) {
e.printStackTrace();
}
return content;
}
/**
* byte[]转换成文件
* @param buf 数据组
* @param filePath 文件保存路径
* @param fileName 文件保存文件名
*/
public static void byte2File(byte[] buf, String filePath, String fileName)
{
BufferedOutputStream bos = null;
FileOutputStream fos = null;
File file = null;
try
{
File dir = new File(filePath);
if (!dir.exists() && dir.isDirectory())
{
dir.mkdirs();
}
file = new File(filePath + File.separator + fileName);
fos = new FileOutputStream(file);
bos = new BufferedOutputStream(fos);
bos.write(buf);
}
catch (Exception e)
{
e.printStackTrace();
}