File类的基本知识
2015-10-11 07:52
330 查看
File类是文件和目录路径名的抽象表示形式。
>>用于将文件或文件夹封装成对象
>>方便对文件与文件夹的属性信息进行操作
>>File对象可以作为参数传递给流的构造函数
问:那么File类和文件流类有何区别呢?
首先:File类能操作文件夹。
其次:File类主要用于获取文件属性,(如文件名,大小长度),而流只能操作数据。
一、File类的构造方法有:
File(String filename);//filename为文件名,该文件与当前应用程序在同一目录中
File(String directoryPath,String filename); //directoryPath是文件路径
File(file f,String filename); //f目录文件,指定绝对路径
二、File类的文件属性
1.public String getName(); //获取文件的名字
2.public boolean canRead(); //判断文件是否可读
3.public boolean canWrite(); //判断文件是否可写
4.public boolean exits(); //判断文件是否存在
5.public linglength(); //获取文件长度
6.public String getAbsolutePath(); //获取文件的绝对路径
7.public String getParent(); //获取文件的父目录
8.public boolean isFile(); //判断文件是否是一个正常文件而不是目录
9.public boolean isDirectory(); //判断文件是否一个目录
10.public booleanisHidden(); //判断文件是否隐藏文件
11.public lognlastModified(); //文件最后修改的时间(从1990年午夜至文件最后修改时刻的毫秒数)
三、目录
1.创建目录
public boolean mkdir(); //创建目录
2.列出目录中的文件
如果File对象是一个目录,那么该对象可以调用下述方法列出该目录下的文件和子目录:
public String[] list(); //用字符串形式返回
public File[] listFiles(); //用File对象形式返回
列出指定类型的文件:
public String[] list(FilenameFilter obj); //字符串形式目录下指定类型的所有文件
public File[] listFiles(FilenameFilter obj); //用File对象形式返回目录下指定类型的所有文件
其中,FilenameFilter是一个接口,该接口有一个方法:
public boolean accept(File dir,String name); //当向list方法传递一个实现该接口的对象时,dir调用list方法在列出文件时,将调用accept方法检查该文件name是否符合accept方法指定的目录和文件名字要求。
import java.io.File;
import java.io.IOException;
import org.junit.Test;
public class Test1 {
@Test
public void testFile() {
File fileOne = new File("F:\\workSpace\\myEclipseSpace");
File fileTwo = new File("test.txt");
try {
fileTwo.createNewFile(); //创建文件
} catch (IOException e) {
System.out.println("文件创建失败!");
}
if (fileOne.isDirectory()) {
File[] file = fileOne.listFiles();//获取目录下的文件
for (File f : file) {//循环数组,输出文件名
System.out.println(f.getName());
}
}
if (fileTwo.isFile()) {
System.out.println(fileTwo.getAbsolutePath());//获得文件的决定路径
}
}
}
>>用于将文件或文件夹封装成对象
>>方便对文件与文件夹的属性信息进行操作
>>File对象可以作为参数传递给流的构造函数
问:那么File类和文件流类有何区别呢?
首先:File类能操作文件夹。
其次:File类主要用于获取文件属性,(如文件名,大小长度),而流只能操作数据。
一、File类的构造方法有:
File(String filename);//filename为文件名,该文件与当前应用程序在同一目录中
File(String directoryPath,String filename); //directoryPath是文件路径
File(file f,String filename); //f目录文件,指定绝对路径
二、File类的文件属性
1.public String getName(); //获取文件的名字
2.public boolean canRead(); //判断文件是否可读
3.public boolean canWrite(); //判断文件是否可写
4.public boolean exits(); //判断文件是否存在
5.public linglength(); //获取文件长度
6.public String getAbsolutePath(); //获取文件的绝对路径
7.public String getParent(); //获取文件的父目录
8.public boolean isFile(); //判断文件是否是一个正常文件而不是目录
9.public boolean isDirectory(); //判断文件是否一个目录
10.public booleanisHidden(); //判断文件是否隐藏文件
11.public lognlastModified(); //文件最后修改的时间(从1990年午夜至文件最后修改时刻的毫秒数)
三、目录
1.创建目录
public boolean mkdir(); //创建目录
2.列出目录中的文件
如果File对象是一个目录,那么该对象可以调用下述方法列出该目录下的文件和子目录:
public String[] list(); //用字符串形式返回
public File[] listFiles(); //用File对象形式返回
列出指定类型的文件:
public String[] list(FilenameFilter obj); //字符串形式目录下指定类型的所有文件
public File[] listFiles(FilenameFilter obj); //用File对象形式返回目录下指定类型的所有文件
其中,FilenameFilter是一个接口,该接口有一个方法:
public boolean accept(File dir,String name); //当向list方法传递一个实现该接口的对象时,dir调用list方法在列出文件时,将调用accept方法检查该文件name是否符合accept方法指定的目录和文件名字要求。
import java.io.File;
import java.io.IOException;
import org.junit.Test;
public class Test1 {
@Test
public void testFile() {
File fileOne = new File("F:\\workSpace\\myEclipseSpace");
File fileTwo = new File("test.txt");
try {
fileTwo.createNewFile(); //创建文件
} catch (IOException e) {
System.out.println("文件创建失败!");
}
if (fileOne.isDirectory()) {
File[] file = fileOne.listFiles();//获取目录下的文件
for (File f : file) {//循环数组,输出文件名
System.out.println(f.getName());
}
}
if (fileTwo.isFile()) {
System.out.println(fileTwo.getAbsolutePath());//获得文件的决定路径
}
}
}
相关文章推荐
- 项目管理
- JS函数式编程【译】4.4 函数式响应式编程
- 【vim环境配置】详细实录
- GNS3-IOUVM 更改IP地址为静态
- git 使用小结
- HTML5 WebSocket+Tomcat实现真●Web版即时聊天室(单人+多人)
- 面试题——Spring作用
- UVA - 1339 Ancient Cipher
- 【bzoj2226】【spoj5971】【lcmsum】【数论】
- VS2010中“工具>选项中的VC++目录编辑功能已被否决”解决方法
- C++与类型转换相关的四个关键字及其特点
- Spring Boot实践应用开发(8)
- 2007年NOIP提高组 统计数字
- LeetCode Algorithms #100 <Same Tree>
- 2011年NOIP提高组 铺地毯
- 解析大型.NET ERP系统:十三种界面设计模式
- OSChina 周日乱弹 —— 旅游被宰后正确处理方式
- Lua入门
- codevs 1293 送给圣诞夜的极光
- 毕业5年决定人的一生(转)-- 大家千万不要错过这篇文章