在Java工程下,用java代码创建文件夹

Stringfilepath="TestPro/WebRoot/doc/"+teaname+"/"+testname+"/"+stuNum;Filefile=newFil... String filepath = "TestPro/WebRoot/doc/"+teaname+"/"+testname+"/"+stuNum;
File file = new File(filepath);
if(!file.isDirectory()){
file.mkdirs();
这样写路径有问题吗?
展开
 我来答
千锋教育
2015-12-20 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
展开全部

参考下面代码,说明已在代码中注释:

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class WriteFile {
 
 
    public static void main(String[] args) {
     writeFile();
    }
    
    public static void writeFile(){
     
     SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
     String content = sdf.format(new Date());
  System.out.println("现在时间:" + content);
     
     FileOutputStream out = null;
        File file;
        try {
          String rootFile = "D:\\tests\\license";
                file = new File(rootFile);
                if (!file.exists()) {
/*
file.mkdirs():创建没有存在的所有文件夹
file.mkdir():创建没有存在的最后一层文件夹
例如:在硬盘上有D://test 文件夹,但是现在需要创建D://test//license//save,这个时候就需要使用file.mkdirs()而不能使用file.mkdir(),另外这两个方法都是仅仅能创建文件夹,不能创建文件,即使创建D://test//license//save//systemTime.dat如果使用该方法创建的SystemTime.dat也是一个文件夹 ,而不是文件
*/
                        file.mkdirs();
                }
                File fileDat = new File(rootFile + "\\systemFile.dat");
                /*
   if(!fileDat.exists()){
//创建文件 不是文件夹,在程序中这这一步没有必要,因为
new FileOutputStream(fileDat);该语句有创建文件的功能
                 fileDat.createNewFile();//
                }
*/
                out = new FileOutputStream(fileDat);
                byte[] contentInBytes = content.getBytes();
                out.write(contentInBytes);
                out.flush();
                out.close();
                System.out.println("Done");
        } catch (IOException e) {
                e.printStackTrace();
        } finally {
                try {
                        if (out != null) {
                                out.close();
                        }
                } catch (IOException e) {
                        e.printStackTrace();
                }
        }
    }
}
谭加巧
2015-01-13 · TA获得超过186个赞
知道小有建树答主
回答量:230
采纳率:79%
帮助的人:102万
展开全部
文件夹是创建了,但是肯定不在你的项目下面。

使用tomcat的servlet来获取项目路径并创建文件夹:但是这个文件夹不会再项目里面加载
String root = ServletActionContext.getServletContext().getRealPath("/upload");
File rootDirFile = new File(root);
if(!rootDirFile.exists()){
rootDirFile.mkdir();
}

在WebRoot下创建upload目录
追问
用了你的办法,但是没有创建文件夹啊
追答
查看tomcat webapps 工程里面,没直接在项目里显示
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
261355910
2015-01-13
知道答主
回答量:26
采纳率:0%
帮助的人:14.8万
展开全部
应该报错。因为不是相对路径,也不是绝对路径,系统貌似识别不出来。
String filepath = "d:"+stuNum;
相对路径,有一个get啥来着,忘了~^_^
追问
因为到时候项目要发布到服务器的,不能写什么D:\\什么的,所以 我是想在我工程的WebRoot下建立文件夹,你有办法吗
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2015-01-13
展开全部
package com.xhkj.util;

import java.io.File;
import java.io.IOException;
public class CreateFileUtil {
public static boolean CreateFile(String destFileName) {
File file = new File(destFileName);
if (file.exists()) {
System.out.println("创建单个文件" + destFileName + "失败,目标文件已存在!");
return false;
}
if (destFileName.endsWith(File.separator)) {
System.out.println("创建单个文件" + destFileName + "失败,目标不能是目录!");
return false;
}
if (!file.getParentFile().exists()) {
System.out.println("目标文件所在路径不存在,准备创建。。。");
if (!file.getParentFile().mkdirs()) {
System.out.println("创建目录文件所在的目录失败!");
return false;
}
}
// 创建目标文件
try {
if (file.createNewFile()) {
System.out.println("创建单个文件" + destFileName + "成功!");
return true;
} else {
System.out.println("创建单个文件" + destFileName + "失败!");
return false;
}
} catch (IOException e) {
e.printStackTrace();
System.out.println("创建单个文件" + destFileName + "失败!");
return false;
}
}
public static boolean createDir(String destDirName) {
File dir = new File(destDirName);
if(dir.exists()) {
System.out.println("创建目录" + destDirName + "失败,目标目录已存在!");
return false;
}
if(!destDirName.endsWith(File.separator))
destDirName = destDirName + File.separator;
// 创建单个目录
if(dir.mkdirs()) {
System.out.println("创建目录" + destDirName + "成功!");
return true;
} else {
System.out.println("创建目录" + destDirName + "成功!");
return false;
}
}
public static String createTempFile(String prefix, String suffix, String dirName) {
File tempFile = null;
try{
if(dirName == null) {
// 在默认文件夹下创建临时文件
tempFile = File.createTempFile(prefix, suffix);
return tempFile.getCanonicalPath();
}
else {
File dir = new File(dirName);
// 如果临时文件所在目录不存在,首先创建
if(!dir.exists()) {
if(!CreateFileUtil.createDir(dirName)){
System.out.println("创建临时文件失败,不能创建临时文件所在目录!");
return null;
}
}
tempFile = File.createTempFile(prefix, suffix, dir);
return tempFile.getCanonicalPath();
}
} catch(IOException e) {
e.printStackTrace();
System.out.println("创建临时文件失败" + e.getMessage());
return null;
}
}
public static void main(String[] args) {
// 创建目录
String dirName = "c:/test/test0/test1";
CreateFileUtil.createDir(dirName);
// 创建文件
String fileName = dirName + "/test2/testFile.txt";
CreateFileUtil.CreateFile(fileName);
// 创建临时文件
String prefix = "temp";
String suffix = ".txt";
for(int i = 0; i < 10; i++) {
System.out.println("创建了临时文件:" + CreateFileUtil.createTempFile(prefix, suffix, dirName));
}

}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lv765800331
2015-01-13 · TA获得超过326个赞
知道小有建树答主
回答量:330
采纳率:0%
帮助的人:118万
展开全部
路径不对,至少要有在哪个盘吧? 然后你的项目的路径在哪? 你可以去百度下,java 代码创建文件夹,能解决你的问题
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式