mkdir,mkdirs区别

我遇到的情况是,因为部署到weblogic和tomcat,

但是,weblogic得不到servletContext,

因此改用以下方式获取:

Thread.currentThread().getContextClassLoader().getResource("").getPath();

这样,在两种服务器下得到的路径分别为:

tomcat下得到路径:/WEB-INF/classes/

weblogic:相应的domain根目录。。

而在各自取得的路径下使用mkdir()创建文件夹时,weblogic创建成功,tomcat创建不成功!
改用mkdirs(),两个服务器都创建成功了。

以下是网上找的解释,

-------------------------------------------------------------------------------------------------------

boolean mkdir() 
  创建此抽象路径名指定的目录。 
 boolean mkdirs() 
  创建此抽象路径名指定的目录,包括创建必需但不存在的父目录。 
ps:摘自DOC,建议楼主去查查api去

-------------------------------------------------------------------------------------------------------

-------------------------------------------------------------------------------------------------------

文档说的象天书! 我给点实际点的解释:

mkdir():只能创建一层目录. 
如: File file = new File("c:/aa");
  file.mkdir(); //这样可以在c:/下创建aa目录
假如有多层目录,则不能用mkdir创建:File file = new File("c:/aa/bb"); file.mkdir() //这样创建不了.
应该改为:
mkdirs():

时间: 2024-10-30 22:25:19

mkdir,mkdirs区别的相关文章

Android使用缓存机制实现文件下载及异步请求图片加三级缓存_Android

首先给大家介绍Android使用缓存机制实现文件下载 在下载文件或者在线浏览文件时,或者为了保证文件下载的正确性,需要使用缓存机制,常使用SoftReference来实现. SoftReference的特点是它的一个实例保存对一个Java对象的软引用,该软引用的存在不妨碍垃圾收集线程对该Java对象的回收.也就是说,一旦SoftReference保存了对一个Java对象的软引用后,在垃圾线程对这个Java对象回收前,SoftReference类所提供的get()方法返回Java对象的强引用.另外

Android实现图片异步请求加三级缓存

使用xUtils等框架是很方便,但今天要用代码实现bitmapUtils 的功能,很简单, AsyncTask请求一张图片 ####AsyncTask #####AsyncTask是线程池+handler的封装 第一个泛型: 传参的参数类型类型(和doInBackground一致) 第二个泛型: #####更新进度的参数类型(和onProgressUpdate一致) 第三个泛型: 返回结果的参数类型(和onPostExecute一致, #####和doInBackground返回类型一致) 看A

php 木马的分析(加密破解)_php技巧

分析可以知道,此木马经过了base64进行了编码,然后进行压缩.虽然做了相关的保密措施,可是php代码要执行,其最终要生成php源代码,所以写出如下php程序对其进行解码,解压缩,写入文件.解码解压缩代码如下: 复制代码 代码如下: <?php function writetofile($filename, $data) { //File Writing $filenum=@fopen($filename,"w"); if (!$filenum) { return false;

php 删除,创建目录

php 删除,创建目录  // 判断读写情况  $dir_writeable = @is_writable($nowpath) ? 'Writable' : 'Non-writable';  // 删除目录  if ($doing == 'deldir' && $thefile) {   if (!file_exists($thefile)) {    m($thefile.' 目录不存在');   } else {    m('目录删除 '.(deltree($thefile) ? ba

Android导入现有的数据库方法示例

前言 大家在平时见到的android数据库操作一般都是在程序开始时创建一个空的数据库,我们然后在进行相关操作.这个我们就比较好做了,因为这个数据库是我们一开始就跟着这个应用走的,那么我们有的时候不可能什么都是自己去做的.我们要是需要使用一个已有数据的数据库怎么办呢?大家想一想在android系统下数据库应该存放在什么地方呐,我们要是知道数据库存放在什么地方就好办了,现在大家有没有思路了.没有的话,下面来看看详细的介绍吧. 方法如下 我们都知道 Android的 数据库默认是放在data\data

Linux中mkdir函数与Windows中_mkdir函数的区别_Linux

下面先来给大家介绍windows下_mkdir函数 复制代码 代码如下: #include<direct.h> int _mkdir( const char *dirname ); 参数: dirname是目录的路径名指针 返回值: 如果新目录的创建时间,这些功能中的每一个返回值 0. 在错误,则函数返回 – 1 linux下mkdir函数mode_t参数详解 复制代码 代码如下: #include <sys/stat.h> int mkdir(const char *path,

QDir的mkdir和mkpath区别

mkdir:上层目录不存在时,创建会失败.比如创建"c:\\test\test",如果test不存在,那test也创建不了.目录已经存在时会返回false. mkpath:上层目录不存在也没关系,自动一起创建.目录已经存在时会返回true.

exp/imp与expdp/impdp的用法区别

exp/imp与expdp/impdp的用法区别 1:把用户usera的对象导到用户userb,用法区别在于fromuser=usera touser=userb ,remap_schema='usera':'usera' .例如 imp system/passwd fromuser=usera touser=userb file=/oracle/exp.dmp log=/oracle/exp.log; impdp system/passwd directory=expdp dumpfile=e

image-关于 /mnt/sdcard 和 /sdcard 有什么区别?

问题描述 关于 /mnt/sdcard 和 /sdcard 有什么区别? 我想把一个 bitmap保存到图片目录中.以下是代码: File path = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES); File file = new File(path, "test1.PNG"); try { path.mkdirs(); OutputStream out = new File