字符流
File file = new File(System.getProperty("user.dir")+"/resource/abc.txt");
File file1 = new File(System.getProperty("user.dir")+"/resource/xyz.txt");
Reader reader = null;
Writer writer = null;
try {
reader = new FileReader(file);
writer = new FileWriter(file1);
StringBuffer stringBuffer = new StringBuffer();
char[] buf = new char[4];
int len = -1;
while ((len = reader.read(buf))!=-1){
stringBuffer.append(buf,0,len);
}
writer.write(stringBuffer.toString());
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
writer.close();
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
字节流
File file = new File(System.getProperty("user.dir")+"/resource/abc.txt");
File file1 = new File(System.getProperty("user.dir")+"/resource/xyz.txt");
InputStream inputStream = null;
OutputStream outputStream = null;
BufferedInputStream bufferedInputStream = null;
BufferedOutputStream bufferedOutputStream = null;
try {
inputStream = new FileInputStream(file);
outputStream = new FileOutputStream(file1);
bufferedInputStream = new BufferedInputStream(inputStream);
bufferedOutputStream = new BufferedOutputStream(outputStream);
byte[] bytes = new byte[10];
int len = -1;
while ((len=bufferedInputStream.read(bytes))!=-1){
bufferedOutputStream.write(bytes,0,len);
}
} catch (IOException e){
e.printStackTrace();
}finally {
try {
bufferedOutputStream.close();
bufferedInputStream.close();
outputStream.close();
inputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
SpringBoot实现文件上下传
上传
@RequestMapping("upload")
public String upload(@RequestParam("file") MultipartFile file){
File targetFile = new File(filePath);
if (!targetFile.exists()){
targetFile.mkdir();
}
FileOutputStream fileOutputStream = null;
try {
fileOutputStream = new FileOutputStream(filePath+File.separator+file.getOriginalFilename());
fileOutputStream.write(file.getBytes());
}catch (IOException e){
e.printStackTrace();
return "uploading failure";
}finally {
try {
fileOutputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return "uploading success";
}
下载
@RequestMapping("download")
public String download(@RequestParam("fileName") String fileName, HttpServletResponse response) throws UnsupportedEncodingException {
File file = new File(filePath+File.separator+fileName);
if (file.exists()){
response.setContentType("application/octet-stream");
response.setHeader("content-type","application/octet-stream");
response.setHeader("Content-Disposition", "attachment;fileName=" + URLEncoder.encode(fileName,"utf8"));
byte[] buffer = new byte[1024];
OutputStream outputStream = null;
FileInputStream fileInputStream = null;
BufferedInputStream bufferedInputStream = null;
try {
outputStream = response.getOutputStream();
fileInputStream = new FileInputStream(file);
bufferedInputStream = new BufferedInputStream(fileInputStream);
int len = -1;
while ((len = bufferedInputStream.read(buffer))!=-1){
outputStream.write(buffer);
}
}catch (IOException e){
e.printStackTrace();
return "download failure";
}finally {
try {
outputStream.close();
bufferedInputStream.close();
fileInputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
else {
return "file no exist";
}
return "download success";
}