文件读为流,文件读为byte[]
byte[]写为文件,流写为文件
记录一下
/**
* 路径读文件为byte
*
* @param fileUrl
* @return
* @throws Exception
*/
public byte[] readFilebyByte(String fileUrl) throws Exception {
return this.streamByByte(new FileInputStream(fileUrl));
}
/**
* 路径读文件为流
*
* @param fileUrl
* @return
* @throws Exception
*/
public InputStream readFileByStream(String fileUrl) throws Exception {
return new DataInputStream(new FileInputStream(fileUrl));
}
/**
* byte转为流
*
* @param data
* @return
* @throws Exception
*/
public InputStream byteByStream(byte[] data) throws Exception {
return new ByteArrayInputStream(data);
}
/**
* 流转为byte
*
* @param inStream
* @return
* @throws Exception
*/
public byte[] streamByByte(InputStream inStream) throws Exception {
ByteArrayOutputStream outStream = null;
try {
outStream = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int len;
while ((len = inStream.read(buffer)) != -1) {
outStream.write(buffer, 0, len);
}
return outStream.toByteArray();
} finally {
outStream.close();
inStream.close();
}
}
/**
* 流存为文件
*
* @param inStream
* @param saveUrl
* @throws Exception
*/
public void saveFile(InputStream inStream, String saveUrl) throws Exception {
try {
this.saveFile(this.streamByByte(inStream), saveUrl);
} finally {
inStream.close();
}
}
/**
* byte存为文件
*
* @param data
* @param saveUrl
* @throws Exception
*/
public void saveFile(byte[] data, String saveUrl) throws Exception {
FileOutputStream fileOutStream = null;
try {
fileOutStream = new FileOutputStream(saveUrl);
fileOutStream.write(data);
} finally {
fileOutStream.close();
}
}
public static void main(String[] args) throws Exception {
FileUtil fileUtil = new FileUtil();
byte[] in = fileUtil.readFilebyByte("C:\\111.png");
fileUtil.saveFile(fileUtil.byteByStream(in), "C:\\222.png");
}