Java学习5--File类
来源:互联网 发布:golang select 编辑:程序博客网 时间:2024/06/05 05:14
File类属于包java.io.File
实现的接口有Serializable,Compareable<File>
它有些像c语言中文件指针,可以指向提供了路径名的文件或者目录,但是它只是展示文件本身的属性,并不能指定信息如何去读写文件等。它的大部分操作都是打印或者判断文件和目录相关属性。
常见的函数:
创建或者删除等修改类型的函数:
1.mkdirs()和mkdir()//创建目录
前者可以创建多级目录,父目录不存在也可以创建。后者创建时需要保证父目录是存在的。
2.createNewFile()//创建文件
3.delete()//删除文件或者目录
4.setReadOnly()//设置为只读
7.deleteOnExit()//虚拟机终止时删除调用对象相关的文件
8.renameTo//重命名或者移动文件,参数为File,参数的路径必须存在,且路径下面没有与修改后的名称相同的文件否则返回false
判断类型的函数:
1.isDirectory()
2.isFile()
获取属性的函数:
1.getAbsolutePath()
2.getName() //如果为目录就打印当前目录名,如果为文件则打印文件名带后缀
3.getParent() //打印父亲的目录路径
4.exists()//是否存在
5.isAbsolute()//是否绝对路径
6.canRead()/是否可写
7.canWrite()//是否可写
8.lastModified()/最近修改时间,毫秒时间
9.isHidden()//是否为隐藏文件
10.lists()//列出目录下的文件,返回类型为String
11.listFile()//列出目录下的文件,返回类型为File
12.list(FileFilter)//带有文件过滤器的,返回类型为String
13.length()//文件长度
14.直接打印file相当于调用file.toString打印完整路径
在例子中说明它的常用函数
public static void main(String[] args) {
File file = new File("E:\\javaio");//构造函数1 写目录的完整路径名
System.out.println(file.exists());
if(!file.exists())
file.mkdirs(); //创建目录
else
//file.delete();//删除文件
System.out.println(file.isDirectory());//是否是一个目录 如果是目录返回true,如果不是目录or目录不存在返回的是false
System.out.println(file.isFile());//是否是一个文件
//File file2 = new File("e:\\javaio\\日记1.txt");构造函数1 写文件的完整的路径名
File file2 = new File("e:\\javaio","日记1.txt");构造函数2 路径名+文件名
//File file3 = new File(fIle,"1.txt");构造函数3 file3和file使用同一个文件目录,可以指向不同文件
if(!file2.exists())
try {
file2.createNewFile();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
else
//file2.delete();
//常用的File对象的API
System.out.println(file);//file.toString()的内容
System.out.println(file.getAbsolutePath());
System.out.println(file.getName());
System.out.println(file2.getName());
System.out.println(file.getParent());
System.out.println(file2.getParent());
System.out.println(file.getParentFile().getAbsolutePath());
System.out.println(file2.isAbsolute());//是否为绝对路径
System.out.println(file2.lastModified());//上次修改时间
System.out.println(file2.canRead());//是否可读
System.out.println(file2.canWrite());//是否可写
FileTest(file,0);//遍历目录
File filter = new File("e:\\");
String[] filenames = file.list(new FilenameFilter() {
@Override
public boolean accept(File dir, String name) {//带有过滤器的列出文件 一般用list方法可以直接使用string类型的名称。用listFiles还需要getName
return name.endsWith("txt");//调用string类型中的方法,判断文件名需要满足什么要求,返回boolean值。
}
/*public boolean accept(File pathname) {
String filename = pathname.getName().toLowerCase();
if(filename.contains(".txt")){
return false;
}else{
return true;
} 返回的是boolean值 */
});
for (String string : filenames) {
System.out.println(string);
}
}
public static void fileTest(String path,int i){
File file=new File(path);
File[] files=file.listFiles(); //String[] files=file.list() 两种函数都只得到文件或者目录名,不是完整的路径
//System.out.println(files.length);
for (File f : files) { //for(File ff:files)
//File f=new File("e:\\javaio"++File.separator+ff);
if(f.isFile()){
for(int j=0;j<i;j++)
System.out.print(" ");//为了列出树状目录文件列表
System.out.println(f.getName()+"是文件!");
}else if(f.isDirectory()){
System.out.println(f.getName()+"是文件夹!");
i=i+1;
fileTest(f.getPath(),i); //要获取完整的路径名
}
}
}
}
- Java学习5--File类
- JAVA\IO\File类学习
- JAVA学习随笔(5)-file类基本API随笔
- Java.io.File类学习笔记
- Java IO之File类学习
- java学习——File类操作
- 关于java中,File类的学习
- java中File类的相关学习
- java学习之路---IO-----File类
- Java基础知识学习五(File类)
- j2se学习笔记-java.io.File类
- java IO 学习之 File类 (一)
- java学习之File类方法
- Java.io.File类的学习
- java基础学习day01-file类
- 异常、File类+JAVA学习笔记-DAY19
- Java IO 系统学习之File类
- Java IO 学习之File类
- Fish Li可供下载的资源列表
- [编程题] 奇数位上都是奇数或者偶数位上都是偶数
- win7 安装mongoose
- 线程
- C语言中不安全的函数以及解决方案
- Java学习5--File类
- PostgreSQL 客户端下查看表,视图,function,切换数据库等
- MySQL索引背后的数据结构及算法原理
- cfx3.0.4必备jar包
- SDUT 3189 Reverse Rot(水题)
- PopupWindow基础设置
- C#对象序列化与反序列化
- 用Java编写自己的机器人 Robot类的应用
- 不会是应该的么