代码部分:
@RequestMapping("do/iodo")
public String ReadAndWriter(){
FileInputStream inputStream=null;
FileOutputStream outputStream=null;
File file=new File("C:\\savapath\\2.txt");
try {
FileInputStream可以传入文件对象读取字节流也可以直接读取某路径下的文件字节流,FileInputStream提供有方法传路径进去也去创建文件对象,这点我有点理解开源的好了
inputStream=new FileInputStream(file);
//读取到流数据后要新建一个文件存。
File file1=new File("C:\\savapath\\TestIo.txt");
file1.createNewFile();
//然后写入到新建的文件里,将新建的文件对象给输出流
outputStream=new FileOutputStream(file1);
//这里输出流提供的方法不支持一次性写入数据
//outputStream.write(inputStream);
byte[] bytes=new byte[1024];
int size=-1;
//每次读取1024个字节,写到新创建的文件里
while ((size=inputStream.read())!=-1)
{
inputStream.read(bytes, 0, size);
outputStream.write(bytes,0,size);
}
outputStream.flush();
}catch (Exception e){
System.out.println(e);
}finally {
try {
inputStream.close();
outputStream.close();
}catch (IOException e){
System.out.println(e);
}
}
return "OK";
}
总结一下:关于流的操作要放在try{}catch块里保护代码的运行,结束时要关闭流对象。