您的位置:首页 > 其它

IO的File类(用于对文件以及文件夹的操作)

2015-06-19 09:33 477 查看
一、通过File去创建一个文件:
File file=new File(“apple.txt”);
file.createNewFile();
判断是否为文件:
isFile()方法

二、通过File去创建一个文件夹:
File file=new File(“apple”);
file.mkdir();
多级:
File dir=new File(“apple//dd//ff/gg”);
dir.mkdirs();
判断是否为目录:
isDirectory()方法

三、File相关方法:
String getName():返回文件名或路径名(若是路径,返回最后一级子路径名)

String getPath():返回对象对应的路径名

File getAbsoluteFile():返回绝对路径

String getAbsolutePath():返回对象对应的绝对路径

String getParent():返回文件目录的上一级目录名

boolean renameTo(File newName):重命名此File对象对应的文件或目录,若重命名成功返回true;

boolean exists():判断对象对应的文件或目录是否存在;

boolean canWrite():判断对象对应文件或目录是否可写;

boolean canRead():判断对象对应文件或目录是否可读;

boolean isAbsolute() 判断对象对应文件或目录是否为绝对路径名;

boolean createNewFile() 当且仅当不存在,该方法创建一个该File对象所指定的新文件,创建成功返回true。

boolean delete():删除File对象所对应的文件或路径;

boolean mkdir() 创建File对象所对应的目录,调用该方法的File对象必须对应路径,而不是文件。

String[] list():列出File对象的所有子文件名和路径名。

File[] listFiles():列出File对象的所有子文件和路径。

static File[] listRoots():列出系统所有的根路径;

四、 File对象的所有子文件名跟路径名
File f=new File( “abc”); //将目录封装成对象
f.mkdir(); //创建abc目录
String names=new f.list(); //用list方法将目录封装成对象
For(String name: names) //for迭代遍历文件夹
{
System.out.println(name);
}
五、File对象的所有子文件跟路径
File f=new File( “abc.txt”); //将文件封装成对象
f.createNewFile(); //创建abc.txt文件
File names=new f.list(); //用list方法将文件封装成对象
For(String name: names) //for迭代遍历文件
{
System.out.println(name);
}


代码示例:
import java.io.*;


public
class
test1 {

/**
* @param args
*/
public
static void
main(String[] args)throws Exception{
// TODO Auto-generatedmethod stub

File f=new File("G://study");//递归的入口,将父目录封装成对象
study(f); //递归的方法

File r=new File("E://study");
del(r);

}
//列出当前目录下的所有子文件以及子文件夹
public
static void
study(File f)
{
System.out.println("文件+文件夹:"+f);//未判断,直接将文件和文件夹输出
if(f.isFile())//判断是否为文件,并输出
{
System.out.println("文件:"+f);
}
if(f.isDirectory())
{
System.out.println("子文件夹:"+f);//判断是否为文件夹,并输出
File[]file1=f.listFiles(); //将当前的目录封装成对象
for(Filefile2:file1) //遍历当前目录的所有子目录以及文件
{
study(file2);
//重复执行操作
}
}

}
//删除当前的所有子文件及子文件夹
public
static void
del(File r)
{
if(r.isFile())//判断是否为文件,直接删除
{
r.delete();
}else
if
(r.isDirectory())//判断是否为目录,
{
File []file1=r.listFiles();
for(File file2:file1)//遍历所有文件夹内的文件,并且删除
{
del(file2);//删除文件夹内的所有文件
file2.delete();//在删除完文件后,删除文件夹
//r.delete();删除文件当前的目录,即把所有的子文件夹以及文件删除后,再删除当前目录
}
}
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: