java web工程在linux下创建文件夹和文件

使用file.mkdirs(); 创建文件目录后,
用FileOutputStream os = new FileOutputStream(path);
os.write(msg, 0, msg.length);创建文件。
这2个方法都没保存执行成功,可就是没有生成文件和文件夹。
这个工程的其他方法在创建文件夹和文件时可以成功,而且创建文件目录都在一个目录下
已经找到原因了,是系统变量user.dir问题。文件保存路径自动加上了user.dir的值。导致保存在了其他地方。

具体的创建方法参照下面的实例:
public class FileTest {
public static void main(String[] args) {
// 根据系统的实际情况选择目录分隔符(windows下是,linux下是/)
String separator = File.separator;
String directory = "myDir1" + separator + "myDir2";
// 以下这句的效果等同于上面两句,windows下正斜杠/和反斜杠都是可以的
// linux下只认正斜杠,为了保证跨平台性,不建议使用反斜杠(在java程序中是转义字符,用\来表示反斜杠)
// String directory = "myDir1/myDir2";
String fileName = "myFile.txt";
// 在内存中创建一个文件对象,注意:此时还没有在硬盘对应目录下创建实实在在的文件
File f = new File(directory,fileName);
if(f.exists()) {
// 文件已经存在,输出文件的相关信息
System.out.println(f.getAbsolutePath());
System.out.println(f.getName());
System.out.println(f.length());
} else {
// 先创建文件所在的目录
f.getParentFile().mkdirs();
try {
// 创建新文件
f.createNewFile();
} catch (IOException e) {
System.out.println("创建新文件时出现了错误。。。");
e.printStackTrace();
}
}

}

}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-08-14
lunix 权限问题,如果你的tomcat用root启动的话,那么你就可以创建了,还有种可能,就是你去看得时候,那个用户没权限看到tomcat的用户文件,也就是创建成功,你这个用户看不到,你用root看一下有没有

最后你加一句在os.write之后,就是os.flush(); os.close();
第2个回答  2013-09-20
if(!file.getParentFile().exists()){
file.getParentFile().mkdirs();
}
if(!file.exists()){
file.createNewFile();
}
第3个回答  2013-08-14
file
如何创建的追问

String path = "zichan" + File.separator + "area_" + project.getArcid() + File.separator + "P_" + File.separator;
File file = null;
file = new File(path);
这样创建的File

第4个回答  2013-08-14
linux系统下面的路径是不一样的,和xp的不同,就连文件分隔符也不一样,这个你去网页查查看,java在linux下创建文件,文件夹,就找到了,一定很多例子!