Java中 File类知识总结
来源:互联网 发布:中岛健人 知乎 编辑:程序博客网 时间:2024/06/10 08:59
File类中常见的方法:
1,创建。
boolean createNewFile():在指定位置创建文件,如果该文件已经存在,则不创建,返回false。
和输出流不一样,输出流对象一建立就创建文件。而且如果文件已经存在,会覆盖。
boolean mkdir():创建文件夹。
boolean mkdirs():创建多级文件夹。
2,删除。
boolean delete():删除失败返回false。如果文件正在被使用,则删除不了返回falsel。
void deleteOnExit();在程序退出时删除指定文件。
3,判断。
boolean exists() :文件或目录是否存在。
isFile():文件是否是一个标准文件。
isDirectory():测试此抽象路径名表示的文件是否是一个目录
isHidden();判断文件是否是隐藏的
isAbsolute():测试此抽象路径名是否为绝对路径名。
4,获取信息。
getName():获取文件名
getPath():获取相对路径
getParent():返回父目录
getAbsolutePath() :获取绝对路径
long lastModified(): 文件最后一次被修改的时间
long length():文件的长度
static File[] listRoots(): 列出可用的文件系统根。
String[] list() :返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中的文件和目录。(只能获取名称)
File[] listFiles() :返回一个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件。 (开发中用这个,它可以获取长度、名称...)
String[] list(FilenameFilter filter) :返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中满足指定过滤器的文件和目录。
方法实例:
1.
File[] files = File.listRoots();
for(File f : files)
{
System.out.println(f);//打印盘符:c盘d盘e盘f盘
}
2.
File f = new File("c:\\abc.txt");
String[] names = f.list();//调用list方法的file对象必须是封装的一个目录。该目录还必须存在。
for(String name : names)
{
System.out.println(name);
}
3.
File dir = new File("d:\\java");
String[] arr = dir.list(new FilenameFilter()
{
public boolean accept(File dir,String name)
{
return name.endsWith(".bmp");
}
});
for(String name : arr)
{
System.out.println(name);
}
4.递归遍历文件
public static void showDir(File dir)
{
File[] files = dir.listFiles();
for(int x=0; x<files.length; x++)
{
if(files[x].isDirectory())
showDir(files[x]);
else
System.out.println(files[x]);
}
}
练习:将一个指定目录下的java文件的绝对路径,存储到一个文本文件中。建立一个java文件列表文件。
思路:
1,对指定的目录进行递归。
2,获取递归过程所以的java文件的路径。
3,将这些路径存储到集合中。
4,将集合中的数据写入到一个文件中。
代码:
public static void main(String[] args) throws IOException
{
File dir = new File("d:\\java1223");
List<File> list = new ArrayList<File>();
fileToList(dir,list);
File file = new File(dir,"javalist.txt");
writeToFile(list,file.toString());
}
public static void fileToList(File dir,List<File> list)
{
File[] files = dir.listFiles();
for(File file : files)
{
if(file.isDirectory())
fileToList(file,list);
else
{
if(file.getName().endsWith(".java"))
list.add(file);
}
}
}
public static void writeToFile(List<File> list,String javaListFile)throws IOException
{
BufferedWriter bufw = null;
try
{
bufw = new BufferedWriter(new FileWriter(javaListFile));
for(File f : list)
{
String path = f.getAbsolutePath();
bufw.write(path);
bufw.newLine();
bufw.flush();
}
}
catch (IOException e)
{
throw e;
}
finally
{
try
{
if(bufw!=null)
bufw.close();
}
catch (IOException e)
{
throw e;
}
}
}
- Java中 File类知识总结
- Java知识总结-File类
- Java中File类总结
- java中File类总结
- Java知识(File类)
- java中File类常用API总结
- java中File方法总结
- Java File类总结
- JAVA File类总结
- 【Java】Java 中IO流知识总结
- java中File类
- java中File类
- java中File类
- JAVA中File类
- java中File类
- C#中File类总结
- Java中File常用用法总结
- java之file类总结
- android studio 运行代码时识别genymotion设备
- 数据的并发处理
- C/C++堆栈简介
- 趣好玩开发日志-第一天
- android开发之UI介绍
- Java中 File类知识总结
- 2道裸BFS(POJ 3278Catch That Cow / POJ 2251Dungeon Master)
- SSH远程登陆
- 200. Number of Islands(重要)
- 为什么「道理都懂,然而执行力差」的现象如此普遍?
- ContentProvider详解2
- 动力学,手把手的搞动画
- 【面试】C++多态问题集锦
- HTML-链接简介