关于文件

文件这个词大家肯定不陌生,我们经常在电脑上随意地创建文件或文件夹来存放数据,也就是鼠标点三下的事儿,但是在Java中,这些操作就转换成了一行行的代码,乍一看也许很复杂,但其实真正掌握了Java这门语言后,真的就像自己下了一句命令一样简单,可惜自己还是未入门级选手,这些都还需要熟练,下面我们来看看这些基础的操作。


File类中的一些重要的方法:
boolean exists();判断文件是否存在
String getName();得到文件名
boolean createNewFile();创建新文件
boolean delete();文件存在的情况下删除文件
boolean isDirectory();判断是否为目录文件名
boolean isFile();判断是否为文件
boolean mkdir();创建文件目录
boolean mkdirs();创建多级目录
具体的创建,删除,统计文件等功能实现附上代码。


文件操作中我们需要注意下面这些问题:
1、 绝对路径就是目录在硬盘上真正的路径,简单来说就是从盘符开始的路径,而相对路径则是从程序运行的当前路径开始的路径。
2、 文件中在写路径时,由于目录分割符和路径分割符在Windows和Linus的平台上不同,分别是“\”“/”,为了实现Java程序的可移植性,我们最好使用File.separator来表示分割符,这样在不同的系统中就可以自动匹配本地操作系统需要的分隔符。如:
File file = new File("E:"+File.separator+"javatext.txt");

3、还学到一个递归时的简便写法
for (File file : fileList) 

代替:
for(int i=0;i<fileList.length;i++)


现在自己对于文件相关的掌握不是很熟练,只能总结这些没有营养的小知识点,文件搜索器还在实现中,希望自己完成之后能完善一下这篇总结。

附上练习代码:
public class FileDemo {
//主函数
public static void main(String[] args){
FileDemo fd = new FileDemo();
File file = new File("E:/程序/");
//File file = new File("E:/");
fd.createFile(file);
fd.listRoots();
int count = fd.countFile(file.getAbsolutePath());
System.out.println("文件总数:" + count);
}


//创建及删除文件的方法
public void createFile(File file){
//File file2 = new File("src/test0910/test2.txt");
if(!file.exists()){
try {
file.createNewFile();
System.out.println("文件创建成功!");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}else{
file.delete();
}
}


//统计当前目录下的目录个数
public void listRoots(){
File [] lf=File.listRoots();
System.out.println("磁盘上的目录个数是:"+lf.length);

}


//统计当前目录下的文件个数
public int countFile(String path) {
int count = 0;
File file = new File(path);
if (file.isFile()) {
count++;
} else if (file.isDirectory()) {
File[] listFile = file.listFiles();
if (null != listFile) {
for (int i = 0; i < listFile.length; i++) {
if (listFile[i].isDirectory()) {
count += countFile(listFile[i].getAbsolutePath());
} else {
count++;
}
}
}
}
return count;
}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值