一、文件的读取(MultipartFile类学习)
public class ReadTextDemo {
public void readText(HttpServletRequest request) throws IOException {
MultipartHttpServletRequest multipartHttpServletRequest = (MultipartHttpServletRequest) request;
Iterator<String> iterator = multipartHttpServletRequest.getFileNames();
while (iterator.hasNext()){
MultipartFile file = multipartHttpServletRequest.getFile(iterator.next().toString());
String originalFilename = file.getOriginalFilename();
InputStream is = file.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is));
String line;
Integer num = 0;
file.transferTo("文件路径")
while ((line = br.readLine()) != null){
num++;
System.out.println("当前行的内容为:"+line);
}
}
}
}
二、文件的下载
public void loadText(HttpServletRequest request, HttpServletResponse response){
String fileName = request.getParameter("fileName");
String path = "文件服务器的地址";
File file = new File(path+File.separator+fileName);
byte[] pdBs = null;
try (InputStream fis = new FileInputStream(file)) {
int len = fis.available();
pdBs = new byte[len];
fis.read(pdBs);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
response.setContentType("application/octet-stream,charset=\"GB2312\"");
response.setHeader("content-disposition","attachment;filename=\""+
replaceAllBr(fileName)+"\"");
try (BufferedOutputStream out = new BufferedOutputStream(response.getOutputStream());
InputStream is = new ByteArrayInputStream(pdBs)) {
byte[] buf = new byte[4096];
int bytesRead;
while((bytesRead = is.read(buf)) != -1){
out.write(buf,0,bytesRead);
}
out.flush();
} catch (IOException e) {
e.printStackTrace();
}
}
private String replaceAllBr(String oldString){
String newString = "";
if(null != oldString){
newString = oldString.replaceAll("\r\n|\n|\n\r","");
}
return newString;
}
三、文件的操作
private void writeDemo() throws Exception {
BufferedInputStream fis;
fis = new BufferedInputStream(new FileInputStream("文件路径"));
BufferedReader reader = new BufferedReader(new InputStreamReader(fis,"utf-8"),520);
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(new BufferedOutputStream(new FileOutputStream("输出文件路径"))));
try {
String line = "";
while ((line = reader.readLine()) != null){
}
writer.flush();
}catch (Exception e){
}finally {
IOUtils.closeQuietly(writer);
IOUtils.closeQuietly(reader);
IOUtils.closeQuietly(fis);
}
}