Java IO中File类是什么
导读:本文共3433.5字符,通常情况下阅读需要11分钟。同时您也可以点击右侧朗读,来听本文内容。按键盘←(左) →(右) 方向键可以翻页。
摘要: File 类:文件和目录路径名的抽象表示。注意:File 类只能操作文件的属性,文件的内容是不能操作的。1、File 类的字段我们知道,各个平台之间的路径分隔符是不一样的。①、对于UNIX平台,绝对路径名的前缀始终为"/"。 相对... ...
目录
(为您整理了一些要点),点击可以直达。
File 类:文件和目录路径名的抽象表示。
注意:File 类只能操作文件的属性,文件的内容是不能操作的。
1、File 类的字段
我们知道,各个平台之间的路径分隔符是不一样的。
①、对于UNIX平台,绝对路径名的前缀始终为"/"
。 相对路径名没有前缀。 表示根目录的抽象路径名具有前缀"/"
和空名称序列。
②、对于Microsoft Windows平台,包含驱动器说明符的路径名的前缀由后面跟着":"
的驱动器号组成,如果路径名是绝对的,则可能后跟"\\"
。 UNC路径名的前缀为"\\\\"
; 主机名和共享名称是名称序列中的前两个名称没有有指定驱动器的相对路径名没有前缀。
那么为了屏蔽各个平台之间的分隔符差异,我们在构造 File 类的时候(如何构造,请看下面第二点),就可以使用上述 Java 为我们提供的字段。
那么我们可以看出:
File.pathSeparator
指的是分隔连续多个路径字符串的分隔符
File.separator
是用来分隔同一个路径字符串中的目录的
2、File 类的构造方法
如何使用上述构造方法,请看如下例子:
//不使用Java提供的分隔符字段,注意:这样写只能在Windows平台有效Filef1=newFile("D:\\IO\\a.txt");//使用Java提供的分隔符Filef2=newFile("D:"+File.separator+"IO"+File.separator+"a.txt");System.out.println(f1);//输出D:\IO\a.txtSystem.out.println(f2);//输出D:\IO\a.txt//File(Fileparent,Stringchild)//从父抽象路径名和子路径名字符串创建新的File实例。Filef3=newFile("D:");Filef4=newFile(f3,"IO");System.out.println(f4);//D:\IO//File(Stringpathname)//通过将给定的路径名字符串转换为抽象路径名来创建新的File实例。Filef5=newFile("D:"+File.separator+"IO"+File.separator+"a.txt");System.out.println(f5);//D:\IO\a.txt//File(Stringparent,Stringchild)//从父路径名字符串和子路径名字符串创建新的File实例。Filef6=newFile("D:","IO\\a.txt");System.out.println(f6);//D:\IO\a.txt
3、File 类的常用方法
①、创建方法
1.boolean createNewFile()
不存在返回true 存在返回false
2.boolean mkdir()
创建目录,如果上一级目录不存在,则会创建失败
3.boolean mkdirs()
创建多级目录,如果上一级目录不存在也会自动创建
②、删除方法
1.boolean delete()
删除文件或目录,如果表示目录,则目录下必须为空才能删除
2.boolean deleteOnExit()
文件使用完成后删除
③、判断方法
1.boolean canExecute()
判断文件是否可执行
2.boolean canRead()
判断文件是否可读
3.boolean canWrite()
判断文件是否可写
4.boolean exists()
判断文件或目录是否存在
5.boolean isDirectory()
判断此路径是否为一个目录
6.boolean isFile()
判断是否为一个文件
7.boolean isHidden()
判断是否为隐藏文件
8.boolean isAbsolute()
判断是否是绝对路径 文件不存在也能判断
④、获取方法
1.String getName()
获取此路径表示的文件或目录名称
2.String getPath()
将此路径名转换为路径名字符串
3.String getAbsolutePath()
返回此抽象路径名的绝对形式
4.String getParent()
//如果没有父目录返回null
5.long lastModified()
//获取最后一次修改的时间
6.long length()
返回由此抽象路径名表示的文件的长度。
7.boolean renameTo(File f)
重命名由此抽象路径名表示的文件。
8.File[] liseRoots()
//获取机器盘符
9.String[] list()
返回一个字符串数组,命名由此抽象路径名表示的目录中的文件和目录。
10.String[] list(FilenameFilter filter)
返回一个字符串数组,命名由此抽象路径名表示的目录中满足指定过滤器的文件和目录。
//File(Fileparent,Stringchild)//从父抽象路径名和子路径名字符串创建新的File实例。Filedir=newFile("D:"+File.separator+"IO");Filefile=newFile(dir,"a.txt");//判断dir是否存在且表示一个目录if(!(dir.exists()||dir.isDirectory())){//如果dir不存在,则创建这个目录dir.mkdirs();//根据目录和文件名,创建a.txt文件file.createNewFile();}//返回由此抽象路径名表示的文件或目录的名称。这只是路径名称序列中的最后一个名字。如果路径名的名称序列为空,则返回空字符串。System.out.println(file.getName());//a.txt//返回此抽象路径名的父null的路径名字符串,如果此路径名未命名为父目录,则返回null。System.out.println(file.getParent());//D:\IO//将此抽象路径名转换为路径名字符串。结果字符串使用defaultname-separatorcharacter以名称顺序分隔名称。System.out.println(file.getPath());//D:\IO\a.txt
4、File 的一些技巧
①、打印给定目录下的所有文件夹和文件夹里面的内容
publicstaticvoidgetFileList(Filefile){//第一级子目录File[]files=file.listFiles();for(Filef:files){//打印目录和文件System.out.println(f);if(f.isDirectory()){getFileList(f);}}}
测试:
publicstaticvoidmain(String[]args)throwsException{Filef=newFile("D:"+File.separator+"WebStormFile");getFileList(f);}
</div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
Java IO中File类是什么的详细内容,希望对您有所帮助,信息来源于网络。