Java如何判断⽂件或者⽂件夹是否在?不存在如何创建?
1. ⾸先明确⼀点的是:⽂件可以和test⽂件夹同时存在同⼀⽬录下;test⽂件不能和test⽂件夹同时存在同⼀⽬录下。
java创建文件原因是:
(1)win的⽂件和⽂件夹都是以节点形式存放,这就意味着相同的⽂件和⽂件名不能处在同⼀⽬录下,会命名冲突。
(2)⽂件后缀名也算是⽂件名的⼀部分,即⽂件和test⽂件不是相同⽂件名的⽂件。
2. 基于以上原因,如果我想在d:创建⼀个test⽂件夹,但是d:下⾯有⼀个test⽂件,那么由于命名冲突,是不可能创建成功的。
所以,在创建之前,要通过ists()判断是否存在test命名的⽂件或者⽂件夹,如果返回true,是不能创建的;
然后再通过file.isDirectory()来判断这是不是⼀个⽂件夹。
1import java.io.File;
2import java.io.IOException;
3
4public class Main {
5
6public static void main(String[] args) {
7
8 File file = new File("d:\\");
9 Main.judeFileExists(file);
10
11 File dir = new File("d:\\test_dir");
12 Main.judeDirExists(dir);
13 }
14
15// 判断⽂件是否存在
16public static void judeFileExists(File file) {
17
18if (ists()) {
19 System.out.println("file exists");
20 } else {
21 System.out.println("file not exists, create it ...");
22try {
23 ateNewFile();
24 } catch (IOException e) {
25// TODO Auto-generated catch block
26 e.printStackTrace();
27 }
28 }
29
30 }
31
32// 判断⽂件夹是否存在
33public static void judeDirExists(File file) {
34
35if (ists()) {
36if (file.isDirectory()) {
37 System.out.println("dir exists");
38 } else {
39 System.out.println("the same name file exists, can not create dir");
40 }
41 } else {
42 System.out.println("dir not exists, create it ...");
43 file.mkdir();
44 }
45
46 }
47
48 }
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论