java中的File类

来源:互联网 发布:网络攻防技术教程 编辑:程序博客网 时间:2024/05/09 16:25
java中的File类是用来对操作系统中的文件进行操作的(这里的文件可以是操作系统中所有的文件,包括文件夹),和操作文件中信息的IO流是不同的。

File类的功能:
1、用来将文件和文件夹封装成File对象。
2、通过File类方便对文件或者文件夹的属性信息进行操作。
3、把File对象作为参数传递给流的构造参数。

File类中的构造方法可以用来生成File对象,有:
File(String pathname)
     通过将给定的路径名字符串转换成抽象路径名来创建一个新的File实例。
File(String parent,String child)
     根据parent路径名字符串和child路径名字符串创建一个新File实例。
File(File parent,String child)
     根据parent抽象路径名和child路径名字符串来创建一个新File实例。

File中的构造方法在创建File对象时的使用:
1、  
File file = new File("a.txt");
将a.txt文件封装成了File对象,通过这个方法可以将已经有的或者未出现的文件封装成对象。
2、
File file = new File("c:\\a","a.txt");
通过parent路径名字符串和child文件名创建一个新file对象。
好处:可以使得file对同一目录的不同文件进行操作。
3、File f=new File("c:\\a");
   File file=new File(f,"a.txt");
与第二种方式的区别在于传入的参数不同。

File类中的"/"和"\\"都是目录分隔符,但是在其他的操作系统之下,这种目录分隔符会产生变化,这种写法不利于跨平台。最好使用separator进行分割,它能在不同的操作系统下表现为不同的分隔符。
File file = new File("c:"+File.separator+"abc"+File.separator+"a.txt")
这种写法可以实现跨平台。

File类中的一些重要的方法:
1、创建文件文件夹:
File file = new File("c:\\a.txt");
System.out.println(file.creatNewFile());
在指定的文件夹创建一个新的文件,如果创建成功就返回true

File.createTempFile("文件名","扩展名");
createTempFile()方法是静态的,所以可以用类名直接调用,其作用是
在默认临时文件目录中创建一个空文件,使用给定前缀和后缀生成其名称。随时会被删除,两个参数是指定的目录,三个参数可以传入目录。

createNewFile():在指定的文件创建一个新的文件。

mkdir():用来创建文件夹的,如果父目录存在,创建子目录成功,如果父目录不存在就创建失败。

mkdirs():也是用来创建文件夹的,与mkdir()的区别在于如果父目录不存在,会把父目录一并创建了。

示例代码:

public class FileDemo {public static void main(String[] args) {File f=new File("c:\\ccc\\aa\\rr\\");System.out.println(f.mkdirs());File f1=new File(f,"c.txt");try {System.out.println(f1.createNewFile());} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}System.out.println(f1.canExecute());System.out.println("===============");File f2 = new File("c:\\bb\\tt");System.out.println(f2.mkdirs());}}

2、删除文件:
delete:删除文件和目录,如果目录中有内容,不能直接调用此方法,要先删除目录中所有的内容。删除文件可以用递归的思想,对文件进行遍历,如果文件中没有内容,就调用该方法,删除文件,如果有内容,就对内容进行遍历,直到遍历不到任何内容,调用此方法。
deleteOnExit():在虚拟机终止时,请求删除此抽象路径名表示的文件或目录。


3、文件信息的判断
canExecute():判断文件是否是可执行文件,跟操作系统有关。
equals:判断传入的对象和给定的文件对象指向的目录是否相同。
exists():判断文件是否存在。
isAbsolute():判断文件是否是绝对路径。
isDirection():判断对象是否是文件夹。
isFile():判断对象是否是文件。


4、获取文件中属性的信息:
getName():获取文件或者文件夹的名称。
getPath():获取文件对象的路径名,和生成的file对象传入的路径名一致。
getAbsolutePath():返回此file对象的绝对路径名。 
getCanonicalPath():返回符号完全解析的路径名。
代码示例:

package com.basic.file;import java.io.File;import java.io.IOException;public class FileDemo {public static void main(String[] args) throws IOException {File file=new File("c:\\a\\c\\d\\s.txt");//System.out.println(file.mkdir());//System.out.println(file.mkdirs());System.out.println("创建文件成功?"+file.createNewFile());//System.out.println("文件删除成功?"+file.delete());System.out.println("文件是否可写"+file.canWrite());System.out.println("文件是否可写"+file.canRead());System.out.println("文件是否存在"+file.exists());System.out.println("文件是否是绝对路径"+file.isAbsolute());System.out.println("是否是文件夹"+file.isDirectory());System.out.println("是否是文件"+file.isFile());System.out.println(file.getName());System.out.println(file.getPath());System.out.println(file.getAbsolutePath());System.out.println(file.getCanonicalFile());}}


结果图:



4 0
原创粉丝点击