/*
java 文件操作
java中文件操作的类是 File类 可以实现对文件的创建删除 修改等
File类 在 java.io包中
下面是 通过 java.io.File类实现对文件操作
File类没有提供对文件的读写方法
*/
import java.io.*; //导入io包
class Test
{
public static void main(String []args) throws Exception //直接吧所有异常抛出给 JVM虚拟机
{
//一个File类对象代表一个文件或者目录
//File.seperator 表示 当前盘符与系统相关的抽象目录 或者一个\ /
File dir=new File(File.separator +"newDir"); //在当前路径下创建一个目录
dir.mkdir(); //创建目录
File file1=new File(dir,"1.txt"); //在 newDir目录下创建1.txt这是 构造函数的重载形式 dir是父目录
file1.createNewFile() ;//在dir目录下创建一个新文件
File file2=new File("d:\\2.txt"); //直接用绝对路径创建
file2.createNewFile(); //创建文件
/*在运行的时候生成文件在推出的时候删除文件*/
/*File fRun=new File("d:\\fRun.txt");
fRun.createNewFile() ; //create
fRun.deleteOnExit() ;//这个文件会在程序推出的时候删除掉
Thread.sleep(3000);
*/
/* java创建临时文件 并且删除临时文件 */
int count =0;
while(count++<10)
{
File ftemp=File.createTempFile("xiaowei",".tmp") ; //创建临时文件 File类静态方法
ftemp.deleteOnExit();//在退出程序的时候删除临时文件
//临时文件目录在 系统变量的temp
}
/*
查看一个目录下所有文件个目录 并且进行过滤
*/
File fileter=new File(File.separator); //代表当前目录 我是D盘
String []name=fileter.list();//获得当前目录下的多有文件目录名字
System.out.println("未加滤镜");
for(int i=0;i<name.length;i++)
System.out.println(name[i]);
System.out.println("\n\n加滤后");
String []fname=fileter.list(new FilenameFilter() //这里传递的是一个匿名的内部类因为接口不能直接实例对象
{
public boolean accept(File dir, String name)
{
return name.indexOf("txt")!=-1;//不是txt返回 false 是txt返回 true
}
}
) ;//通过滤镜获得文件目录名 传递一个 FilenameFilter接口实现对象 这里是匿名
for(int i=0;i<fname.length;i++)
System.out.println(fname[i]);
}
}