您的位置:首页 > 编程语言 > Java开发

java类库中的File类使用

2016-03-16 10:29 363 查看
File(文件)类这个名字有一定的误导性(个人觉得太大了!!!);我们可能会认为它指代的是文件,实际上却并非如此。它技能代表一个特定的文件的名称,又能代表一个目录下的一组文件的名称。如果它指的是一个文件集,我们就可以对此集合调用list()方法,这个方法会返回一个字符数据 String []。FilePath(文件路径)对这个类来说是更好的名字。(此段截取自Think in java 第四版)
1、访问文件名相关方法;
String getName(): 返回此File对象所表示的文件名或者路径名(如果是路径,则返回最后一级子路径名,比如上面例子中的 ".")。

String getPath(): 返回此File对象所对应的路径名。
File getAbsoluteFile(): 返回此File对象的绝对路径
String getAbsolutePath: 返回此File对象的绝对路径名

String getParent(): 返回此File对象对应目录(最后一级子目录)的父目录名
boolean reanameTo(File newName): 重命名返回此File对象对应的文件或者目录
2、文件检测相关方法;
boolean exists();
boolean canWrite();
boolean isFile();
boolean isDirectory();
boolean isAbsolute();在UNIX/Linux系统上,绝对路径开头是一条斜线‘/’,在Windows系统上,绝对路径开头是盘符,例如:E:\

3、获取常规文件信息;
long lastModified(): 文件最后的修改时间
long length(): 文件内容的长度 (The length, in bytes, of the file denoted by this abstract pathname, or
0L
if the file does not exist)

4、文件操作相关方法;
boolean createNewFile():

boolean delete():
static FilecreateTempFile(String prefix, String suffix): 在默认的临时文件目录中创建一个临时的空文件,使用给定的前缀、系统生成的随机数个给定的后缀来作为文件名
static FilecreateTempFile(String prefix, String suffix, File directory): 和上类似,指定了目录而已
void deleteOnExit(): 钩子~~~java虚拟机退出的时候,删除File对象对应的文件和目录,想象下就知道了~~~多形象

5、目录操作相关方法
boolean mkdir():
String []list(): 列出File对象所有子文件名和路径名

File[] listFiles(): 列出File对象所有子文件名和路径名

static File() listRoots():列出系统所有的根路径!
直接运行以下程序:

<pre name="code" class="java">package com.neo.FileAndPathTest;
import java.io.File;

public class PathTest {
public static void main(String[] args) {
File filetest1 = new File(".");
String name = filetest1.getName();
String AbsolutePath = filetest1.getAbsolutePath();
String nullParentPath = filetest1.getParent();
String rightParentPath = filetest1.getAbsoluteFile().getParent();
filetest1.length();
//File parentFile = currentDir.getParentFile();
System.out.println("该File对象指向的文件或者文件集(目录)是否为绝对路径:"+filetest1.isAbsolute());
System.out.println("该File对象指向的文件或者文件集(目录)的名字"+name);
//返回值为空
System.out.println("该File对象指向的文件或者文件集(目录)的上层路径获取结果"+nullParentPath);
System.out.println("该File对象指向的文件或者文件集(目录)的绝对路径"+AbsolutePath);
System.out.println("该File对象指向的文件或者文件集(目录)上层路径的正确获取方式结果:"+rightParentPath);
System.out.println("该File对象指向的文件或者文件集(目录)对应的路径名"+filetest1.getPath());
//java.lang.NullPointerException
//System.out.println(parentFile.getName());
System.out.println("=============================================================");
//java中反斜线'\'表示转义字符,window下路径表示为:E:\Local,此处则要用\\表示路径分隔符
File fileTest2 = new File("E:\\Local");
if(fileTest2.isAbsolute()){
System.out.println(fileTest2.getParent());
}
System.out.println("该File对象指向的文件或者文件集(目录)是否存在:"+fileTest2.exists());
System.out.println("该File对象指向的是否为文件:"+fileTest2.isFile());
System.out.println("该File对象指向的是否为文件集(目录):"+fileTest2.isDirectory());
if(fileTest2.isDirectory()){
//两种方式都可以,建议用第二种方式,foreach循环
/*String []files = fileTest2.list();
for(int i=0; i<files.length; i++){
System.out.println(files[i]);
}*/
for(String item : fileTest2.list()){
System.out.println(item);
}
}
File [] root = File.listRoots();
for (File item : root){
System.out.println(item);
}
}
}



                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: