Java 判断多级路径是否存在,不存在就创建
方案一:
(带文件名的Path:如:D:\news\2014\12\abc.text)
public boolean isexitsPath(String path)throws InterruptedException{ String [] paths=path.split("\\\\"); StringBuffer fullPath=new StringBuffer(); for (int i = 0; i < paths.length; i++) { fullPath.append(paths[i]).append("\\\\"); File file=new File(fullPath.toString()); if(paths.length-1!=i){//判断path到文件名时,无须继续创建文件夹! if(!file.exists()){ file.mkdir(); System.out.println("创建目录为:"+fullPath.toString()); Thread.sleep(1500); } } } File file=new File(fullPath.toString());//目录全路径 if (!file.exists()) { return true; }else{ return false; } }
注意:带文件名的path,需要判断是否path中已经包含文件名,若包含,则不再创建文件夹。
(不带文件名的Path:如:D:\news\2014\12)
public boolean isexitsPath(String path)throws InterruptedException{ String [] paths=path.split("\\\\"); StringBuffer fullPath=new StringBuffer(); for (int i = 0; i < paths.length; i++) { fullPath.append(paths[i]).append("\\\\"); File file=new File(fullPath.toString()); if(!file.exists()){ file.mkdir(); System.out.println("创建目录为:"+fullPath.toString()); Thread.sleep(1500); } } File file=new File(fullPath.toString());//目录全路径 if (!file.exists()) { return true; }else{ return false; } }
方案二:
(带文件名的Path:如:D:\news\2014\12\abc.text)
public static boolean isExist(String filePath) { String paths[] = filePath.split("\\\\"); String dir = paths[0]; for (int i = 0; i < paths.length - 2; i++) {//注意此处循环的长度 try { dir = dir + "/" + paths[i + 1]; File dirFile = new File(dir); if (!dirFile.exists()) { dirFile.mkdir(); System.out.println("创建目录为:" + dir); } } catch (Exception err) { System.err.println("ELS - Chart : 文件夹创建发生异常"); } } File fp = new File(filePath); if(!fp.exists()){ return true; // 文件不存在,执行下载功能 }else{ return false; // 文件存在不做处理 } }
(不带文件名的Path:如:D:\news\2014\12)
public static boolean isExist(String filePath) { String paths[] = filePath.split("\\\\"); String dir = paths[0]; for (int i = 0; i < paths.length - 1; i++) {//注意此处循环的长度 try { dir = dir + "/" + paths[i + 1]; File dirFile = new File(dir); if (!dirFile.exists()) { dirFile.mkdir(); System.out.println("创建目录为:" + dir); } } catch (Exception err) { System.err.println("ELS - Chart : 文件夹创建发生异常"); } } File fp = new File(filePath); if(!fp.exists()){ return true; // 文件不存在,执行下载功能 }else{ return false; // 文件存在不做处理 } }
注意:带文件名和不带文件名的处理方式的区别就在于循环的长度上。
相关推荐
接着,我们用`file.getParentFile().exists()`检查父目录是否存在,如果不存在,就调用`mkdirs()`创建所有缺失的中间目录。最后,如果`path`表示的是一个文件,我们会调用`createNewFile()`方法来创建这个文件。 在...
Java文件路径操作是Java开发中常见且重要的任务,无论是在读写文件、处理资源还是进行系统交互时,都需要对文件路径进行操作。本篇将详细探讨Java中的文件路径处理技术,主要涵盖以下知识点: 1. **File类**: ...
2. **实例化File对象**:接下来使用该路径创建一个`File`对象。 3. **检查文件夹是否存在**:通过调用`exists()`方法来判断目标文件夹是否已经存在。 4. **创建文件夹**:如果文件夹不存在,则使用`mkdirs()`方法...
它提供了许多方法来处理文件路径,如`exists()`检查文件是否存在,`createNewFile()`创建新文件,`mkdirs()`创建多级目录,以及`getPath()`、`getAbsolutePath()`和`getCanonicalPath()`获取各种形式的路径。...
例如,`File#exists()`检查文件是否存在,`File#isFile()`判断是否为文件而不是目录,`File#length()`获取文件大小。 6. **使用Java NIO**:Java 7引入了新的NIO(非阻塞I/O)框架,提供更高效和灵活的文件操作。你...
- `boolean mkdirs()`:如果指定的多级目录在某一层不存在,递归创建多级目录并返回true,否则返回false。 - `boolean delete()`:删除指定的文件或单层空目录。如果试图删除的目录非空,则无法删除。 3. **File...
然后,调用`exists()`方法检查文件是否存在,如果不存在,再调用`createNewFile()`创建文件。注意,`separator`常量用于获取系统默认的路径分隔符,通常在Windows中是`\`,在Unix/Linux中是`/`。 2. **删除文件** ...
- `File(String parent, String child)`:用父路径和子路径创建一个`File`对象。 2. **创建和删除文件/目录**: - `createNewFile()`:创建一个新的空文件。如果文件已存在,该方法将返回`false`。 - `mkdir()`...
`mkdir()`用于创建单级目录,而`mkdirs()`则可以创建多级目录。假设我们有一个路径`/path/to/new/directory`,以下是如何创建它的代码: ```java File dir = new File("/path/to/new/directory"); dir.mkdirs(); ``...
- `mkdirs()`:创建多级目录,如果中间路径不存在,会一并创建。 4. **文件属性查询** - `exists()`:检查文件或目录是否存在。 - `isFile()` 和 `isDirectory()`:判断文件是否为文件或目录。 - `length()`:...
* `public boolean delete()`: 删除文件,如果文件不存在则返回 false。 * `public boolean deleteOnExit()`: 文件使用完成后删除。 例如: ```java File f = new File("d:\\1.txt"); System.out.println(f.delete...
- `boolean mkdirs()`:创建多级目录,如果中间目录不存在,会尝试创建。 **四、文件的基本属性获取** - `String getName()`:获取文件名。 - `String getParent()`:获取文件的父路径。 - `long length()`:获取...
对于文件的创建,`createNewFile()`方法会在指定路径上创建一个新文件,前提是这个文件不存在。相似地,`mkdir()`用于创建单级目录,而`mkdirs()`则是用于创建多级目录结构。 对于文件的重命名和删除操作,`rename...
- `mkdirs()`: 创建多级目录结构,如果路径中的任何中间目录不存在,也会被创建。 2. **重命名和移动文件** - `renameTo(File dest)`: 如果目标文件与源文件在同一路径下,此方法用于重命名文件。如果不在同一...
- `mkdirs()`:创建多级目录,如果中间的目录不存在,会尝试创建它们。 5. **注意事项**: - 在创建File对象时,路径可以是相对路径或绝对路径。如果路径以斜杠`/`开头,通常表示绝对路径,否则可能被视为相对于...
- **描述:** `mkdirs()`方法用于创建多级目录,即使父目录不存在,也会尝试创建它们。 - **例子:** ```java File dir = new File("D:/abc/xyz/hello"); dir.mkdirs(); System.out.println(dir.isDirectory()...
- `createNewFile()`:在不存在同名文件的情况下,创建一个新文件。这个操作是非阻塞的,如果文件已存在,不会执行任何操作并返回`false`。 - `delete()`:删除由抽象路径名表示的文件或目录。如果是一个目录,...
- `mkdir()`:创建单级目录,如果路径不存在,可能会失败。 - `mkdirs()`:创建多级目录,会创建路径中所有缺失的父目录。 - `listFiles()`:返回目录下的所有文件和子目录File对象数组。 - `list()`:返回目录...
- `mkdir()` / `mkdirs()`:创建单级目录/多级目录,如果中间路径不存在,`mkdirs()`会创建所有缺失的中间目录。 - `delete()`:删除文件或空目录,非空目录无法删除,需要先删除其下的所有文件和子目录。 ### ...