一起Talk Android吧(第二十一回:Java常用类之文件操作一)


各位看官们,大家好,上一回中咱们说的是Java常用类之Date的例子,这一回咱们说的例子是Java常用类之文件操作。闲话休提, 言归正转。让我们一起Talk Android吧!


看官们,编写程序是离不开数据的,数据有多种载体,文件便是其中的一种载体。因此,我们在程序中经常使用的文件。Java把文件封装成了File类,我们通过该类可以对文件进行相关的操作。接下来我们就对File类做详细的介绍。

文件与目录

文件通常都位于相应的目录下,我们可以单独创建文件或者目录。创建文件和目录的方法待会就会介绍。如果我们我们想对文件和目录进行区分,可以使用isDirectory()和isFile()方法来判断File类型的对象是目录还是文件,不过使用它们的前提是文件或者目录已经存在,否则它们总是返回false。

创建文件

创建文件时只需要使用File类的createNewFile()方法就可以,不过我们需要创建一个File类型的对象,代码如下:

File file = new File(filePath);

如果参数中的filePath中包含有目录信息,那么必须保证目录已经存在,如果不存在,需要先创建目录。该方法只能创建文件,不能创建目录。

创建目录

创建目录时只需要使用File类的makeDire()方法就可以,和创建文件时一样,我们也需要创建一个File类型的对象。

删除文件和目录

删除文件时只需要使用File类的delete()方法就可以,和创建文件时一样,我们也需要创建一个File类型的对象。该方法也可以删除目录。

获取文件列表

有时候需要获取一个目录下的文件列表,这时可以使用File类的list()或者listFiles()方法,前者返回的是String类型的数组,它把目录下的文件名都存放到了数组中;后者返回的是File类型的数组,它把文件名以及文件的的目录以File类型对象的形式存放于数组中。

看官们,这些内容可以看作是理论部分,接下来我们通过具体的代码来实践一下如何进行文件操作。

public class FileOp {

    public static String filePath = "H:"+File.separator+"a.txt";
//  public static String filePath = "H:"+File.separator+"t"+File.separator+"a.txt";
    public static void main(String args[]) throws Exception
    {

        File file = new File(filePath);

        if( !file.exists() )    // must check the file state
        {
            if(new File(file.getParent()).exists())
                file.createNewFile();
            else
                System.out.println("Parent dir is not exist");
        }
        else
            System.out.println("File is "+filePath+"is existed");

        if(file.isDirectory())
            System.out.println("it is diectory");
        else
            System.out.println("it is a file");


        filePath =  "H:"+File.separator;        
        String fileList[] = new File(filePath).list();
        if(fileList != null)
        {
            System.out.println("--- File name as following:");
            for(String i: fileList)
                System.out.println(i);
        }

        File fileFullList[] = new File(filePath).listFiles();
        if(fileFullList != null)
        {
            System.out.println("--- File name with path as following:");
            for(File i: fileFullList)
                System.out.println(i);
        }

        file.delete();

        if(file.exists())
            System.out.println("File deleted Failed");
        else
            System.out.println("File deleted OK");
    }       
}

在上面的程序中,有一个File.separator没有介绍,它表示目录分隔符号,大家都知道Windows系统和Linux系统的目录分隔符不一样,使用该常量可以保证不同系统中的分隔符是相同的,进而提高了程序的可移植性。

下面是程序的运行结果,请大家参考:

it is a file
--- File name as following:
a.txt
code
download
--- File name with path as following:
H:\a.txt
H:\code
H:\download
File deleted OK

从上面的程序运行结果中可以看到,我们在H盘根目录下创建一个a.txt文件,出于“环保”的考虑,在程序结束时删除了该文件。此外我们还列出了H盘下的文件和目录,其中一部分带有目录信息,这要归功中listFile()方法。

看官们,File类为我们操作文件提供了便利,不过随着技术的发展它就有点“不方便”了,为此在Java SE7中添加的新的文件类:Files。它的功能更加强大。不过我们暂时先不介绍它,如果哪位看官感兴趣的话,可以参考JDK中的文档。

各位看官,关于Java常用类之文件操作的例子咱们就介绍到这里,欲知后面还有什么例子,且听下回分解!


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

talk_8

真诚赞赏,手有余香

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值