java中的File类

File类

  File表示文件对象,文件对象包含文件目录和普通文件对象,例如一个test文件夹或者目录a/b/c下的d文件夹和test.txt或者text.doc 等都可以用文件对象来表示。new File()只是指定了文件对象路径(关联了文件对象)。若文件对象存在,则可访问该文件对象的相关属性,不存在则无法访问。使用File file= newFIle()只是指定了文件创建的路径,但是文件还没有生成,另外如果路径不存在,那么文件将不会创建成功。

1、关于系统路径分割符。

Windows中,使用反斜杠“\”作为路径分割符,比如“c:\test”,但是java中反斜杠表示转义,所以需要用“C:\\test”在程序中来表示路径。还可以使用“C:/test”进行路径的表示,这种表示方法在linux中也适用。

   File dir0= new File("E:/Test/test"); 

   File dir1 =  new File("E:\\test\\test");

   File file = new File(“c”+File.Separater+”test.txt”);

还可以使用File类中定义的常量Separater来代替路径分割符,这样在各个系统中都可以使用。如File file = new File(“c”+File.Separater+”test.txt”);单独的Separater表示根的意思。如果在跟下创建文件,相当于在程序路径的根路径下创建文件。

 2、创建文件夹或目录

  File 类中常用到创建目录的方法有2个,mkdir( ) 和mkdirs( ),两个方法的区别在mkdir( )只能在已经存在的目录下创建文件夹,而mkdirs( )则可已动态的创建路径中的没有存在的目录,例如:

    

 1  File file0 = new File("E:/Test/test/test.doc");
 2       if(!dir0.exists()){
 3       dir0.mkdirs();
 4          System.out.println("E:/Test文件夹已创建");    
 5          }
 6 
 7     mkdir( )创建目录
 8 
 9      File file0 = new File("E:/Test/test/test.doc");
10       if(!dir0.exists()){
11       dir0.mkdir();
12 
13       if(!dir0.mkdir()){
14          System.out.println("E:/Test文件夹创建失败");    
15          }
16 
17       }

 

 

3、创建普通文件

 File类中创建文件的常用方法有createNewFile()和createTempFile(), createNewFile() 方法,根据路径创建一个新的空文件,若路径不存在,则抛出异常。

 若抽象路径的文件存在时,创建失败。一般新创建的文件为空文件,若已存在所要创建的文件,创建失败即没用生成新的空文件,原来的文件不变。

 1          File file0 = new File("E:/Test/test/test.doc");
 2        System.out.println(file0);
 3        if(!dir0.exists()){
 4            dir0.mkdirs();
 5            System.out.println("E:/Test文件夹已创建");       
 6        }
 7      if(!file0.exists())
 8      {    System.out.println("E:/Test");       
 9           file0.createNewFile();
10      }    

 createTempFile() 方法有两种调用方式:

createTempFile(String prefix, String suffix);在默认临时文件目录中创建一个空文件,使用给定前缀和后缀生成其名称。

createTempFile(String prefix, String suffix, File directory);在指定目录中创建一个新的空文件,使用给定的前缀和后缀中间包含随机数生成其名称。

1       File file1 = new File("E:/Test/test/");
2       file1.createTempFile("abc", ".txt");
3       //file1.createTempFile("aaaaaaaa", "txt");
4       file1.createTempFile("def", ".txt", file1);

E盘下的Test/test文件夹下会生成def6233708088577963770.txt的文本文件,多次生成会生成多个以def为前缀,txt为后缀,中间为19为随机数的多个文本文件,

 

4、访问文件对象的常用属性

  当new File() 创建的文件对象为文件夹时,可以通过文件对象访问文件夹的相关属性。

     isFile()判断是否为文件

       mkdir()创建目录,只能创建一级目录,不能创建如”c:/avc/xyz/help”、rigi平xyz不存在,不能创建help路径。

       mkdirs() 可以创建多级目录

       String[] list() 列出路径中的文件名和目录名,打印第一层信息

       File[] listFiles() 得到路径下的文件或目录。

 1 File dir = new File("E:/新建文件夹");     
 2        System.out.println("E盘下的文件:");
 3        for(File file:fileList){          
 4            System.out.println(" 文件名:  " +file.getName() +" 文件路径:  "+file.getPath()+"是否为目录:"+
 5         file.isDirectory()+"是否为文件:"+file.isFile());         
 6        }
 7        //用listFiles()获取特殊的类型的文件
 8        File[] docfile = dir.listFiles(new FileStudy("doc"));
 9        System.out.println("E盘下的doc文件:");
10        for(File file:docfile){          
11            System.out.println("   " +file.getName() +"   "+file.getPath());
12        }

 

 

 

 

转载于:https://www.cnblogs.com/zhuimengren-zhongyin/p/4899870.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值