- 将输入流中的文件写到本地
package com.yufeng.util;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import org.apache.commons.lang.StringUtils;
/**
* 全路径,将文件输出,不做任何判断
* @author Feng
*
*/
public class WriteFileUtil {
protected InputStream input;//输入流
protected String filename;//文件全路径
protected int size=1024;//每次读写字节数
public void setInput(InputStream input) {
this.input = input;
}
public void setFilename(String filename) {
this.filename = filename;
}
public void setSize(int size) {
this.size = size;
}
public void writeFile() throws IOException{
if(input==null||StringUtils.isBlank(filename)){
throw new RuntimeException("未赋初值");
}
FileOutputStream fout = new FileOutputStream(new File(filename));
byte[] bytes = new byte[size];
int flag = 0;
while((flag = input.read(bytes))>0 ){
fout.write(bytes);
fout.flush();
}
fout.close();
}
}
2.将本地文件写入输出流
package com.yufeng.util;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.OutputStream;
import org.apache.commons.lang.StringUtils;
public class ReadFileUtil {
protected OutputStream output;//输入流
protected String filename;//文件全路径
protected int size=1024;//每次读写字节数
public void setOutput(OutputStream output) {
this.output = output;
}
public void setFilename(String filename) {
this.filename = filename;
}
public void setSize(int size) {
this.size = size;
}
public void readFile() throws IOException{
if(output==null||StringUtils.isBlank(filename)){
throw new RuntimeException("未赋初值");
}
FileInputStream fin = new FileInputStream(new File(filename));
byte[] bytes = new byte[size];
int flag = 0;
while((flag = fin.read(bytes))>0 ){
output.write(bytes);
output.flush();
}
fin.close();
}
}
3.将文件转化成字节流
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
public class FileUtils {
public static byte[] getFileBytes(String filename) throws IOException{
File file = new File(filename);
if(!file.exists()){
return null;
}
FileInputStream in = new FileInputStream(file);
ByteArrayOutputStream out = new ByteArrayOutputStream();
byte tmp[] = new byte[1024];
while((in.read(tmp)) != -1){
out.write(tmp);
}
in.close();
return out.toByteArray();
}
}