java File总结

File 类位于java.io包中,File对象的方法有创建文件,删除文件,判断列表下的文件是目录还是真实文件。
创建文件
File file=new File(filename);
File file1 = new File ("C://temp//myNote.txt"); // in Windows 这是windows文件系统下的方法
File file2 = new File ("/tmp/myNote.txt"); // in Linux/Unix unix文件系统的方法

File类的重要方法:
boolean exists():判断File对象指向的文件是否存在
String getName():得到文件的名字
boolean isDirectory():判断File所指向的文件是否为目录
boolean isFile():判断File所指向的文件是否为真实文件
long length():得到File对象所指向的文件的长度,已byte计
File[] listFiles():将File对象指向的文件下一级的所有目录和真实文件作为一个数组返回,数组中每个文件对象对应这个目录
下的文件和目录,如果File对象是个真实文件,返回null值
static File[] listRoots():通过File类可直接调用的静态方法,可将机器上的每个逻辑驱动器作为返回File数组对象中的一个
元素。
boolean mkdir():根据File对象的名字(路径)创建一个目录。
boolean mkdirs():如果File对象名字有多级目录,可以一次性创建。
boolean delete():从磁盘上删除File对象所指向的文件

//建立目录、文件、删除文件或目录
public static void main(String[] args) {
File myFile=new File("...");
if(myFile.mkdir()){//单级目录
System.out.println("建立目录成功");
}else{
System.out.println("建立目录失败");
}

File myFile_A=new File("...");
if(myFile_A.mkdirs()){//多级目录
System.out.println("建立目录成功");
}else{
System.out.println("建立目录失败");
}

File file = new File("...");
try {
file.createNewFile();//建立空文件
} catch (IOException e) {
e.printStackTrace();
}

if(file.delete()){//删除文件或删除目录
(删除文件的另外一个方法:file.deleteOnExit() 在虚拟机终止时,请求删除此抽象路径名表示的文件或目录。)
System.out.println("删除成功");
}else{
System.out.println("删除失败");
}


//文件的创建与删除
public void testCreateAndDelete(String filename){
//通过传入的名字构造对象
File file=new File(filename);
//判断文件是否存在
if(file.exists()){
//判断是否为目录
if(file.isDirectory()){
System.out.println("这是一个目录:"+file.getAbsolutePath());
}
//如果是文件
if(file.isFile()){
System.out.println("这是一个文件:"+file.getlength+" "+file.getAbsolutePath());
}
//删除文件
file.delete();
String path=file.getAbsolutePath();
String name=file.getName();
System.out.print("文件已删除"+"文件名是:"+name+" 路径:"+path);
}else {
try{ //创建文件时会抛出异常,需要用try catch处理或throws继续抛出
file.createNewFile();
System.out.println("文件已创建");
}catch(Exception ef){
System.out.println("文件创建失败");
}
}
}
通过File的方法对电脑上的文件进行查找
首先输入一个地址,判断是目录还是文件,如果是目录则对其下一级进行查找(递归),如果是文件,计数的加一。
public class FileDisplay{
public static void main(String []args){
FileDisplay fd=new FileDisplay();
String name="src";
}
public int print(String name){
int count=0;
File file=new File(name);
File[] subfile=file.listFile(); //列表目录
if(subfile==null||subfile.length==0){
return 0;
}
//遍历第一层目录
for(int i=0;i<subfile.length;i++){
if(subfile[i].isDirectory()){
String dir=subfile[i].getAbsolutePath();
System.out.println("目录:"+dir);
count+=print(dir);
}
if(subfile[i].isFile()){
count++;
String filename=subfile[i].getAbsolutePath();
System.out.println("文件:"+filename);
}
}
return count;
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值