致谢
这是我的第二篇文章,第一篇文章的排版和字体选择之丑陋无以言表。在此向大家表示道歉。如果我很有幸,您能浏览到了我的文章驻足观看,我表示感谢。我的文章将会每天更新,一是为了督促自己学习,二是希望和大家交流学习,弥补自己的不足。希望大家能积极提出意见,再次感谢。
File类访问目录和文件
File类只能用于访问文件或目录的信息(包括名称、路径、大小),而不能访问文件或目录的内容。
File类的构造方法
我们需要了解file类的构造方法主要有两种。其实这两种没有什么特别的区别,都是依照自己的习惯。
![File类的构造器](https://img-blog.csdn.net/20160802171554334)
1.指定PathName即文件或目录的绝对路径作为参数。
File file = new File("C:\\aFile");
2.指定某文件或目录的上一级目录和文件名。
File file =new File("C:\\","aFile");
***值得注意的是目录之间的分割符要用双斜线\\或者右斜线/。
File类的常见方法
获取信息的方法:
1.获取文件或者目录的路径
File fl = new File("F:/file/newFile/abook.txt");
//返回绝对路径
System.out.println(fl);//直接打印该对象也是输出它的绝对路径。
System.out.println(fl.getAbsolutePath());
System.out.println(fl.getPath());
System.out.println(fl.getAbsoluteFile());
//返回上一级目录的路径
System.out.println(fl.getParent());
打印结果如下:
F:\file\newFile\abook.txt
F:\file\newFile\abook.txt
F:\file\newFile\abook.txt
F:\file\newFile
2.其他信息
theLength= fl.length();//文件的大小
buildTime = fl.lastModified();//文件的创建时间
long buildTime=0;
long theLength=0;
//!!!在if语句中如果只添加单句代码,将不能创定义变量。
if(fl.isFile()){
// System.out.println(fl.length());
theLength= fl.length();//文件的大小
buildTime = fl.lastModified();//文件的创建时间
}
System.out.println("长度为:"+theLength+" 创建时间为:"+buildTime);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd,hh:mm:ss");
System.out.println(sdf.format(buildTime));
打印结果为如下:
长度为:15 创建时间为:1469978023005
2016-07-31,11:13:43
文件的检测:
boolean exsits():判断文件或目录是否存在,存在返回ture,不存在返回false。
boolean canRead():判断文件或目录是否可读,可读返回ture,否则返回false。
boolean canWirte():判断文件或目录是否可写,是则返回ture,不是返回false。
boolean isFile():判断是否为文件...
boolean isDictionary():判断是否为目录...
boolean isAbsolute():判断是否为绝对路径...
文件操作的方法:
boolean creatNameFile():当File对象对应的文件不存在时,将创建该文件,如果创建成功将返回ture,否则返回false。
如下例子:
File file = new File("F:/file/newFile/abook04.txt");
if(!file.exists()){
if(file.createNewFile()){
System.out.println(file.getAbsolutePath());
}
}
打印出:
F:\file\newFile\abook04.txt
boolean delete():删除File对象所创建的文件或者路径。
static File createTempFile(String prefix,String suffix,File Dictionary):创建一个新的空文件夹, prefix为文件的前缀,suffix为文件的后缀(可以加上“.”指定文件扩展名)。Dictionary这个参数可以有可以没有,没有的时候创建的空文件保存在默认的文件夹中(C:\Users\zsc\AppData\Local\Temp\...),当然指定有参数时文件将保存在指定的Dictionary中。例外值得注意的是suffix为null值时,文件后缀默认为tmp。
boolean mkdir():创建一个目录,File对象必须指定了一个路径而不是文件。
String[] list():列出所有File对象指定路径下的文件和路径,返回值为String数组。
static File[] listRoots():列出所有系统的根路径。
File f3 = new File("F:\\");
if(f3.isDirectory()){
String[] str = f3.list();
for(String s : str){
System.out.print(s+" ");//$开头的为隐藏着的受保护的系统文件
}
}
System.out.println("");
File[] list = File.listRoots();
for(File l : list){
System.out.print(l+" ");
}
打印如下:
$RECYCLE.BIN DOTA file GameDownload System Volume Information TGP 英雄联盟
C:\ D:\ E:\ F:\ G:\
这些都是File类的常见用法,初次学习的掌握就这些了。后面能有什么更深的理解将会继续补充。