java File类中的mkdir()和mkdirs()有什么区别
mkdir()
只能在已经存在的目录中创建创建文件夹。
mkdirs()
可以在不存在的目录中创建文件夹。诸如:a\\b,既可以创建多级目录。
mkdirs
public boolean mkdirs()
创建一个目录,它的路径名由当前 File 对象指定,包括任一必须的父路径。
返回值:
如果该目录(或多级目录)能被创建则为 true;否则为 false。
mkdir
public boolean mkdir()
创建一个目录,它的路径名由当前 File 对象指定。
返回值:
如果该目录能被创建则为 true;否则为 false。
java.io.File中mkdir和mkdirs的区别?
mkdirs可以创建指定目录以及所有的父目录,创建此抽象路径名指定的目录,包括所有必需但不存在的父目录,也就是可以在不存在的目录中创建文件夹。
mkdir创建此抽象路径名指定的目录,也就是只能在已经存在的目录中创建创建文件夹。
mkdirs()可以建立多级文件夹,mkdir()只会建立一级的文件夹, 如下:
File file=new File("/tmp/one/two/three");
file.mkdirs();
执行后, 会建立tmp/one/two/three四级目录
file..mkdir();
则不会建立任何目录, 因为找不到/tmp/one/two目录, 结果返回false
Java创建文件夹并上传文件到该文件夹:
import org.apache.commons.io.FileUtils;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionContext;//jar包
//省略get/set方法
private String err = "";
private String msg; //返回信息
private File filedata; //上传文件
private String filedataFileName; //文件名
//这里是上传的路径,获取路径用到是struts2的方法
String saveRealFilePath = ServletActionContext.getServletContext().getRealPath("/img");
System.out.println(saveRealFilePath );//打印上传的路径
File fileDir = new File(saveRealFilePath);
if (!fileDir.exists()) { //如果不存在 则创建
fileDir.mkdirs();
}
File savefile = new File(saveRealFilePath , filedataFileName);
try {
FileUtils.copyFile(filedata, savefile); //复制
} catch (IOException e) {
err = "错误"+e.getMessage();
e.printStackTrace();
}
PHP函数mkdir()前面加上个@成为@mkdir()请问是什么意思?
@意思是压制错误提示,使其无错误提示
@mkdir. 代表执行mkdir时不会返回或弹出错误提示
好的代码,任何情况下都“不要写”这个@号去压制错误提示。
java file类方法mkdir()疑问?
可以先切换到指定的文件夹路径下,之后直接通过mkdir方法进行文件夹创建。举例:
String path = "d:/oldfilepath";//定义指定文件路径
String newPath = path+"/newpath";//指定新路径
File file = new File(newPath );//定义一个文件流
file.mkdir();//创建文件夹
备注:如果不确定原有文件夹是否存在的情况下,可以通过”mkdirs“创建多层路径。
java文件夹的创建mkdir()
你加了这个判断if(mypath.exists()==false),所以没有进入异常处理