JAVA——File类,
JAVA——File类,
File类
用来将文件或者文件夹封装成对象
方便将文件与文件夹的属性信息进行操作
File对象可以作为参数传递给流的构造函数
了解File类中的常用方法
注意:流只能操纵数据,而File可以操纵被封装成文件的信息。
import java.io.*;
class FileDemo
{
public static void main(String[] args)
{
consMthod();
}
public static void consMthod()
{
//将a.txt封装成file对象,可以将已有的和未出现的文件或者文件夹封装成对象
File f1 = new File("a.txt");
File f2 = new File("c:\\abc","b.txt");
File d = new File("c:\\abc");
File f3 = new File(d,"c.txt");
File f4 = new File("c:"+File.separator+"abc"+File.separator+"zzz"+File.separator+"a.txt");
sop(f1);
sop(f2);
sop(f3);
sop(f4);
}
public static void sop(Object obj)
{
System.out.println(obj);
}
}
a.txt
c:\abc\b.txt
c:\abc\c.txt
c:\abc\zzz\a.txt
windows下和Linux下的打印结果不一样。因此为了跨平台的使用,所以引入了File.separator。
************************
ile 常见的方法:
1、创建。
boolean createNewFile():在指定位置创建文件,如果该文件已经存在,则不创建,
返回false.和输出流不一样,输出流对象一建立就创建文件,而且文件已经存在就会覆盖。
boolean mkdir():创建文件夹
boolean mkdirs():创建多级文件夹
2、删除
boolean delete(); 删除失败返回false。如果文件正在被使用,则删除不了返回false
void deleteOnExit(); 在程序退出时删除指定文件。
3、判断
boolean exists():文件是否存在
isFile();
isDirectory();
isHidden();
isAbsolute();
4、获取信息
getName()
getPath()
getParent()
getAbsolutePath()
long lastModified()
long length()
继续举例
class FileDemo
{
public static void main(String[] args)
{
consMthod();
}
public static void listFiles_method()
{
File dir = new File("c:\\");
File[] files = dir.listFiles();
for(File f: files)
{
System.out.println(f.getName()+"::"+f.length());
}
}
public static void list_dir()
{
File dir = new File("d:\\java\\day0");
String[] arr = dir.list(new FilenameFilter()
{
public boolean accept(File dir,String name)
{
System.out.println("dir:"+dir+"...name::"+name);
/*
if(name.endsWith(".bmp"))
return true;
else
return false;
*/
return name.endsWith(".bmp");
}
});
}
public static void listDemo()
{
File f = new File("c:\\");
String[] names = f.list(); //调用list方法的file对象必须是封装了一个目录。该目录还必须存在。
for(String name:names)
{
System.out.println(name); //打印C盘下所有文件名,包含隐藏文件
}
}
public static void listRootsDemo()
{
File[] files = File.listRoots();
for(File f:files)
{
System.out.println(f); // 输出有效盘符
}
}
public static void method_5()
{
File f1 = new File("c:\\Test.java");
File f2 = new File("d:\\hah.java");
sop("rename"+f1.renameTo(f2)); //d盘出现hah.java,c盘的test.java没了。
}
public static void method_4()
{
File f = new File("file.txt");
sop("path:"+f.getPath()); //file.txt
sop("abspath:"+f.getAbsolutePath()); //D:\java\file.txt
sop("parent"+f.getParent);//该方法返回的是绝对路径下的父目录。本题因为是相对路径,所以返回null.如果设置File f = new File("c:\\abc\\file.txt"); 返回的是 c:\abc。如果想对路径
}
public static void method_3()
{
File f = new File("file.txt");
//f.createNewFile(); 文件是真,目录是假
f.mkdir();//目录为真,文件为假的。
//记住,在判断文件对象是否是文件和目录时,必须判断该文件对象封装的内容是否存在。
//通过exists判断
sop("dir:"+f.isDirectory());
sop("file:"+f.isFile());
}
public static void method_2()
{
File f = new File("file.txt");
sop("execute"+f.canExecute());//测试应用程序是否可以执行该文件
sop("exists:"+f.exists());
//创建文件夹
File dir = new File("abc\\aa");
sop("mkdir:"+dir.mkdir());
}
public static void method_1()throws IOException
{
File f = new File("file.txt");
sop("create:"+f.createNewFile());
sop("delete"+f.delete());
}
public static void method_onExit()
{
File f = new File("file1.txt");
f.deleteOnExit(); //告知文件关闭以后把它给删了
code(); //这里是一堆流操作
}
public static void consMthod()
{
//将a.txt封装成file对象,可以将已有的和未出现的文件或者文件夹封装成对象
File f1 = new File("a.txt");
File f2 = new File("c:\\abc","b.txt");
File d = new File("c:\\abc");
File f3 = new File(d,"c.txt");
File f4 = new File("c:"+File.separator+"abc"+File.separator+"zzz"+File.separator+"a.txt");
sop(f1);
sop(f2);
sop(f3);
sop(f4);
}
public static void sop(Object obj)
{
System.out.println(obj);
}
}
相关文章
- 暂无相关文章
用户点评