java中的File类

    xiaoxiao2024-05-08  8

    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 block e.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()); } }

    结果图:

    转载请注明原文地址: https://ju.6miu.com/read-1288347.html
    最新回复(0)