15.3.3 文件和目录的完全处理

【实例15.2】以上的实例很简单,主要学习函数的用法。下面再看一个稍微复杂的程序。


01 import java.io.*;

02 ///通过print方法来判断这个文件类对象的性质

03 ///通过print1方法来获取文件对象的信息

04 ///通过print2方法来获取文件对象的信息

05 public class file1

06 {

07 public void print(File f)

08 {

09 if(f.isDirectory())

10 {

11 System.out.println("这是一个目录!");

12 }

13 else

14 {

15 System.out.println("这不是一个目录!");

16 }

17 if(f.exists())

18 {

19 System.out.println("这个文件是存在的!");

20 }

21 else

22 {

23 System.out.println("抱歉,这个文件是不存在的!");

24 try

25 {

26 f.createNewFile();

27 }

28 catch(Exception e){}

29 }

30 }

31 public void print1(File f)

32 {

33 System.out.println(f.getName());

34 System.out.println(f.getParent());

35 System.out.println(f.getPath());

36 }

37 public void print2(File f)

38 {

39 if(f.isFile())

40 {

41 System.out.println(f.lastModified());

42 System.out.println(f.length());

43 }

44 }

45 public static void main(String[]args)

46 {

47 file1 f1=new file1();

48 File f=new File("d:\filetest","file.txt");

49 f1.print(f);

50 f1.print1(f);

51 f1.print2(f);

52 }

53 }


【代码说明】上面的程序段是一个比较综合的实例,它使用了File类的很多方法。在程序中,有一点读者可能不是很明白,当第41行要输出最后修改日期时,为什么会输出“1251538022515”呢?这是因为日期是以long类型数据形式输出的。

说明

先在d盘下创建一个目录filetest,然后在其中创建一个file.txt,在这个文本文件中随意添加一些内容。

【运行效果】


这不是一个目录!

这个文件是存在的!

file.txt

d:\filetest

d:\filetest\file.txt

1251538022515 211


【实例15.3】下面再看一个更加复杂的实例。


01 import java.io.*;

02 ///创建8个文件类对象,并且每一个对象产生一个新文本文件

03 ///通过循环语句将这8个文本文件名称和路径输出

04 public class file2

05 {

06 public static void main(String[]args)

07 {

08 //file2 f=new file2();

09 File f1=new File("d:\filetest","1.txt");

10 File f2=new File("d:\filetest","2.txt");

11 File f3=new File("d:\filetest","3.txt");

12 File f4=new File("d:\filetest","4.txt");

13 File f5=new File("d:\filetest","5.txt");

14 File f6=new File("d:\filetest","6.txt");

15 File f7=new File("d:\filetest","7.txt");

16 File f8=new File("d:\filetest");

17 try

18 {

19 f1.createNewFile();

20 f2.createNewFile();

21 f3.createNewFile();

22 f4.createNewFile();

23 f5.createNewFile();

24 f6.createNewFile();

25 f7.createNewFile();

26 }

27 catch(Exception e){}

28 File[]ff=f8.listFiles();

29 for(int i=0;i<ff.length;i++)

30 {

31 System.out.println("文件名称为:"+ff[i]);

32 }

33 }

34 }


【代码说明】以上的程序段,是先创建一个目录“filetest”。然后在目录中,通过使用方法“createNewFile()”创建7个文件。另外,通过使用方法“listFiles()”,将7个文件的文件名存储到“file[]”数组中。然后再读取数组中的每一个元素,即文件名。最后将这7个文件的文件名称分别输出来。

【运行效果】


文件名称为:d:\filetest\1.txt

文件名称为:d:\filetest\2.txt

文件名称为:d:\filetest\3.txt

文件名称为:d:\filetest\4.txt

文件名称为:d:\filetest\5.txt

文件名称为:d:\filetest\6.txt

文件名称为:d:\filetest\7.txt

文件名称为:d:\filetest\file.txt


注意 filetest目录下如果还有其他内容,输出结果可能不同于上述结果。