file类JAVA,java file常用方法
00-1010构造方法概述代码示例基本介绍常用方法获取文件和目录的基本信息创建和删除函数目录遍历函数补充:移动文件总结
00-1010学习Java中的File类,首先要知道Java API中File类的定义,也就是文件和目录路径的抽象表示,并不是文件本身。所以在File类中,涉及的操作只是关于文件名和目录路径,而不是文件内容。如果要对文件内容进行操作,就要学习I/O流(输入/输出流)。
目录
00-1010只有文件类构造好了,后面才能操作。有三种方法来构造File类:抽象表示的文件和目录的路径名:
公共文件(字符串路径名):通过将给定的路径名字符串转换成抽象路径名来创建新的文件实例。Public File (String Parent,String Child):从父路径名字符串和子路径名字符串创建一个新的文件实例。Public File (file parent,string child):从父抽象路径名和子路径名字符串创建一个新的文件实例。第一种用的多,后两种用的少。
概述
导入Java . io . file;public class File demo 1 { public static void main(String[]args){//public File(String pathname)String pathname 1= f : test1 . txt ;文件file1=新文件(路径名1);//public File(String pathname)String pathname 2= f : test2 test1 . txt ;文件file2=新文件(路径名2);//下面少用//public file (stringparent,string child)string parent= f : test 3 ;String child= test1.txtFile file3=新文件(父、子);//public File(File parent,String child)File parent dir=new File( f : test );string child 1= test 2 . txt ;File file4=新文件(parentDir,child 1);}}
00-1010File类的操作还是很重要的,所以有很多常用的方法。为了方便记忆,我把它分成:
获取文件和目录的基本信息,判断函数,创建和删除函数,遍历目录的函数。下面介绍这些方法,并给出实例。
00-1010 publicstringgetName():返回由该文件表示的文件或目录的名称。PublicgetPath():将该文件转换为路径名字符串。公共字符串getParent():获取父路径公共字符串getAbsolutePath():返回该文件的绝对路径名字符串代码示例。
导入Java . io . file;public class File demo 2 { public static void main(String[]args){ File File=new File( f : test1 test2 text . txt );//将此文件转换为路径名字符串。System.out.println(文件路径: file . getpath());//返回该文件所代表的文件或目录的名称System.out.println(文件名: File . getname());//获取父路径System.out.println(获取父路径 file . Get parent());//返回该文件的绝对路径名字符串System.out.println(绝对路径名 file . getabsolutepath());}}
re>判断功能
public boolean exists() :此File表示的文件或目录是否实际存在。public boolean isDirectory() :此File表示的是否为目录。public boolean isFile() :此File表示的是否为文件。public isAbsolute() :判断File对象对应的文件或目录是否是绝对路径public boolean canRead() :判断File对象对应的文件或目录是否可读public boolean canWrite() :判断File对象对应的文件或目录是否可写public boolean isHidden() :判断File对象对应的文件或目录是否是否隐藏如果文件或目录不存在,那么exists()、isFile()和isDirectory()都是返回true
代码示例
import java.io.File;public class FileDemo3 { public static void main(String[] args) { File file1 = new File("F:\test\test1\test2.txt"); File file2 = new File("F:\test"); //此File表示的文件或目录是否实际存在 boolean exists1 = file1.exists(); boolean exists2 = file2.exists(); System.out.println(exists1); System.out.println(exists2); //此File表示的是否为目录 boolean directory1 = file1.isDirectory(); boolean directory2 = file2.isDirectory(); System.out.println(directory1); System.out.println(directory2); //此File表示的是否为文件 boolean file1File = file1.isFile(); boolean file2File = file2.isFile(); System.out.println(file1File); System.out.println(file2File); //判断File对象对应的文件或目录是否是绝对路径 boolean absolute = file1.isAbsolute(); System.out.println(absolute); //判断File对象对应的文件或目录是否可读 boolean canRead = file1.canRead(); System.out.println(canRead); //判断File对象对应的文件或目录是否可写 boolean canWrite = file1.canWrite(); System.out.println(canWrite); //判断File对象对应的文件或目录是否是否隐藏 boolean hidden = file2.isHidden(); System.out.println(hidden); }}
创建和删除功能
public boolean createNewFile() :当且仅当具有该名称的文件尚不存在时,创建一个新的空文件。public boolean delete() :删除由此File表示的文件或目录。只能删除空目录。public boolean mkdir() :创建由此File表示的目录。public boolean mkdirs() :创建由此File表示的目录,包括任何必需但不存在的父目录API中说明:delete方法,如果此File表示目录,则目录必须为空才能删除。
代码示例
import java.io.File;import java.io.IOException;public class FileDemo4 { public static void main(String[] args) throws IOException { //创建文件 File file1 = new File("test.txt"); System.out.println("是否存在:"+ file1.exists());//false System.out.println("是否创建"+ file1.createNewFile());//需要抛出异常 System.out.println("是否存在:"+ file1.exists()); //true //创建目录(单个) File file2 = new File("F:\test"); System.out.println("是否存在:"+ file2.exists());//false System.out.println("是否创建"+ file2.mkdir()); System.out.println("是否存在:"+ file2.exists()); //true //创建多级目录 File file3 = new File("F:\test1\test2"); System.out.println("是否存在:"+ file3.exists());//false System.out.println("是否创建"+ file3.mkdirs()); System.out.println("是否存在:"+ file3.exists()); //true //文件的删除 System.out.println(file1.delete()); //目录的删除 System.out.println(file2.delete()); System.out.println(file3.delete());//只能删除一级 }}
目录遍历功能
public String[] list() :返回一个String数组,表示该File目录中的所有子文件或目录public File[] listFiles() :返回一个File数组,表示该File目录中的所有的子文件或目录调用listFiles方法的File对象,表示的必须是实际存在的目录,否则返回null,无法进行遍历。
代码示例
import org.junit.Test;import java.io.File;import java.io.IOException;public class FileDemo5 { public static void main(String[] args) { File dir = new File("F:\test"); dir.mkdirs(); System.out.println(dir.exists()); //File dir1 = new File("F:\test"); //获取当前目录下的文件及文件夹的名称 String[] names = dir.list(); //遍历 for(String name : names){ System.out.println(name); } //获取当前目录下的文件以及文件夹对象,只要拿到了文件对象,那么就可以获取更多信息 File[] files = dir.listFiles(); for(File file : files){ System.out.println(file); } }}
但对于多级目录的遍历,我们需要使用递归方法
/*多级目录的打印。遍历之前,无从知道到底有多少级目录,所以我们可以使用递归实现 */import java.io.File;public class FileDemo6 { public static void main(String[] args) { File dir = new File("F:\test1"); listSubFiles(dir); } private static void listSubFiles(File dir) { if(dir != null && dir.isDirectory()){ File[] listFiles = dir.listFiles(); if(dir != null){ for(File sub : listFiles){ listSubFiles(sub);//递归调用 } } } System.out.println(dir); }}
补充:移动文件
public class Test5 { public static void main(String[] args){ File f1 = new File("d:\"); moveFile(f1); }public static void moveFile(File dir){ File[] files=dir.listFiles(); for(File file:files){ if(file.isDirectory()) moveFile(file); else{ if(file.getName().endsWith(".java")) file.renameTo(new File("c:\jad\"+ file.getName().substring(0,file.getName().lastIndexOf(.))+".jad")); } } }}
总结
到此这篇关于Java中File类的文章就介绍到这了,更多相关Java中File类内容请搜索盛行IT以前的文章或继续浏览下面的相关文章希望大家以后多多支持盛行IT!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。