1. 起首明白一点的是:test.txt文件能够和test文件夹同时存在统一目录下;test文件不能和test文件夹同时存在统一目录下。
缘由是:
(1)win的文件和文件夹都是以节点情势寄存,这就意味着雷同的文件和文件名不能处在统一目录下,会定名争执。
(2)文件后缀名也算是文件名的一部分,即test.txt文件和test文件不是雷同文件名的文件。
2. 基于以上缘由,假如我想在d:建立一个test文件夹,然则d:下面有一个test文件,那末因为定名争执,是不可能建立胜利的。
所以,在建立之前,要经由过程file.exists()推断是不是存在test定名的文件或许文件夹,假如返回true,是不能建立的;然后再经由过程file.isDirectory()来推断这是不是一个文件夹。
实例:
import java.io.File; import java.io.IOException; public class Main { public static void main(String[] args) { File file = new File("d:\\test_file.txt"); Main.judeFileExists(file); File dir = new File("d:\\test_dir"); Main.judeDirExists(dir); } // 推断文件是不是存在 public static void judeFileExists(File file) { if (file.exists()) { System.out.println("file exists"); } else { System.out.println("file not exists, create it ..."); try { file.createNewFile(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } // 推断文件夹是不是存在 public static void judeDirExists(File file) { if (file.exists()) { if (file.isDirectory()) { System.out.println("dir exists"); } else { System.out.println("the same name file exists, can not create dir"); } } else { System.out.println("dir not exists, create it ..."); file.mkdir(); } } }
引荐教程:Java教程
以上就是java中怎样推断文件或文件夹是不是存在的细致内容,更多请关注ki4网别的相干文章!