FileOutputStream 若制定的目录不存在,会报错,说filenotfound
可以这样:
String wordPath="/upload/DutyBatch/";
<span style="white-space:pre"> </span>String FileNameString="顺义区律师值班表.xls";
<span style="white-space:pre"> </span>String pathString=request.getSession().getServletContext().getRealPath(wordPath);
<span style="white-space:pre"> </span>File fileDir =new File(pathString);
<span style="white-space:pre"> </span> //如果文件夹不存在则创建
<span style="white-space:pre"> </span> if (!fileDir .exists() && !fileDir .isDirectory())
<span style="white-space:pre"> </span> {
<span style="white-space:pre"> </span> <span style="white-space:pre"> </span>fileDir .mkdir();
<span style="white-space:pre"> </span> }
<span style="white-space:pre"> </span> File file = new File(pathString+"\\"+FileNameString);
<span style="white-space:pre"> </span> if(!file.exists())
<span style="white-space:pre"> </span> {
<span style="white-space:pre"> </span> try {
<span style="white-space:pre"> </span> file.createNewFile();
<span style="white-space:pre"> </span> } catch (IOException e) {
<span style="white-space:pre"> </span> // TODO Auto-generated catch block
<span style="white-space:pre"> </span> e.printStackTrace();
<span style="white-space:pre"> </span> }
<span style="white-space:pre"> </span> }
<span style="white-space:pre"> </span>out = new FileOutputStream(pathString+"\\"+FileNameString);
做一个判断,文件和文件夹是否存在,不存在就创建。
new File(pathString+"\\"+FileNameString);
要写到具体的文件,不是某个文件夹,这样也不会出现某文件拒绝访问的现象。