jsp servlet 创建文件夹

//设置保存上传文件的目录StringuploadDir=getServletContext().getRealPath("/upload");if(uploadDir=... //设置保存上传文件的目录
String uploadDir = getServletContext().getRealPath("/upload");
if (uploadDir == null){
out.println("无法访问存储目录!");
return;
}
File fUploadDir = new File(uploadDir);
if(!fUploadDir.exists()){
if(!fUploadDir.mkdir()){
out.println("无法创建存储目录!");
return;
}
}

我不明白这句话 String uploadDir = getServletContext().getRealPath("/upload");
它不是获得该项目下面的upload在磁盘上的绝对路径吗?但我一开始没有新建upload,那返回值不就是null了吗,不就会执行out.println("无法访问存储目录!");了吗?但没有?
还有这句话File fUploadDir = new File(uploadDir);什么意思,是创建了一个文件吗?如果是的话,后面的 if(!fUploadDir.exists()){
if(!fUploadDir.mkdir()){
。。。。。。。。又是干什么的啊?
求这段代码的详细解释!!!!!!!!!!!!!!
我用的是tomcat。
我的问题是我在myeclipse和tomcat下面开始都没有建upload文件夹。但执行getServletContext().getRealPath("/upload");后我加了句System.out.println("完整的路径是"+uploadDir);控制台显示完整的路劲是D:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\commonupload\upload
但是照道理下面没有upload文件夹会去执行 out.println("无法访问存储目录!");
这是怎么回事????
展开
 我来答
可以叫我表哥
2015-08-07 · 知道合伙人数码行家
可以叫我表哥
知道合伙人数码行家
采纳数:25897 获赞数:1464973
2010年毕业于北京化工大学北方学院计算机科学与技术专业毕业,学士学位,工程电子技术行业4年从业经验。

向TA提问 私信TA
展开全部
代码如下:
<%
//得到web根路径//绝对路径
//getServletContext().getRealPath("/")得到web应用的根路径
// D:/web/excel,“D:/web”是web应用的根路径,“excel”是根目录下的文件夹
String Save_Location=getServletContext().getRealPath("/")+"excel//";
try{
if (!(new java.io.File(Save_Location).isDirectory())) //如果文件夹不存在
{
new java.io.File(Save_Location).mkdir(); //不存在 excel 文件夹,则建立此文件夹
new java.io.File(Save_Location)+"gmcc//").mkdir(); //创建excel文件夹下名为 gmcc 的文件夹
}
else //存在excel文件夹,则直接建立此文件夹
{
new java.io.File(Save_Location)+"gmcc//").mkdir(); //创建 excel 文件夹下名为gmcc的文件夹
}
}catch(Exception e){
e.printStackTrace(); //创建文件夹失败
//在链接中使用URLEncoder编码,传递中文参数。
//接收页面可以使用getParameter()取得该参数,页面的charset=GB2312。
String ErrName=java.net.URLEncoder.encode("文件夹不存在。创建文件夹出错!");
response.sendRedirect("errorpage.jsp?error="+ErrName); //跳转到错误页面
return;
}
//在 gmcc 文件夹下新建 myfile.txt 文件
java.io.File myFile = new java.io.File(Save_Location+"gmcc//myfile.txt");
java.io.FileOutputStream fout = null;
try {
fout = new java.io.FileOutputStream(myFile);
byte b[]= "你好!".getBytes();
fout.write(b);
fout.flush(); //写入文件
fout.close(); //关闭
}
catch (java.io.FileNotFoundException e) {
e.printStackTrace();
}
catch (java.io.IOException ex) {
ex.printStackTrace();
}
%>
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式