Android(java)学习笔记87:File类使用

 1 package cn.itcast_01;

 2 

 3 import java.io.File;

 4 

 5 /*

 6  * 我们要想实现IO的操作,就必须知道硬盘上文件的表现形式。

 7  * 而Java就提供了一个类File供我们使用。

 8  * 

 9  * File:文件和目录(文件夹)路径名的抽象表示形式

10  * 构造方法:

11  *         File(String pathname):根据一个路径得到File对象

12  *         File(String parent, String child):根据一个目录和一个子文件/目录得到File对象

13  *         File(File parent, String child):根据一个父File对象和一个子文件/目录得到File对象

14  */

15 public class FileDemo {

16     public static void main(String[] args) {

17 // File(String pathname):根据一个路径得到File对象 18 // 把e:\\demo\\a.txt封装成一个File对象

19         File file = new File("E:\\demo\\a.txt");

20 

21         // File(String parent, String child):根据一个目录和一个子文件/目录得到File对象

22         File file2 = new File("E:\\demo", "a.txt");

23 

24         // File(File parent, String child):根据一个父File对象和一个子文件/目录得到File对象

25         File file3 = new File("e:\\demo");

26         File file4 = new File(file3, "a.txt");

27 

28         // 以上三种方式其实效果一样

29     }

30 }

上面提到的文件是不存在的,

E:\\demo\\a.txt"接下来我们就是学习调用类方法来创建:

 1 package cn.itcast_02;

 2 

 3 import java.io.File;

 4 import java.io.IOException;

 5 

 6 /*

 7  *创建功能:

 8  *public boolean createNewFile():创建文件 如果存在这样的文件,就不创建了

 9  *public boolean mkdir():创建文件夹 如果存在这样的文件夹,就不创建了

10  *public boolean mkdirs():创建文件夹,如果父文件夹不存在,会帮你创建出来

11  *

12  *骑白马的不一定是王子,可能是班长。

13  *注意:你到底要创建文件还是文件夹,你最清楚,方法不要调错了。

14  */

15 public class FileDemo {

16     public static void main(String[] args) throws IOException {

17         // 需求:我要在e盘目录下创建一个文件夹demo

18         File file = new File("e:\\demo");

19         System.out.println("mkdir:" + file.mkdir());

20 

21         // 需求:我要在e盘目录demo下创建一个文件a.txt

22         File file2 = new File("e:\\demo\\a.txt");

23         System.out.println("createNewFile:" + file2.createNewFile());

24 

25         // 需求:我要在e盘目录test下创建一个文件b.txt

26         // Exception in thread "main" java.io.IOException: 系统找不到指定的路径。

27         // 注意:要想在某个目录下创建内容,该目录首先必须存在。

28         // File file3 = new File("e:\\test\\b.txt");

29         // System.out.println("createNewFile:" + file3.createNewFile());

30 

31         // 需求:我要在e盘目录test下创建aaa目录

32         // File file4 = new File("e:\\test\\aaa");

33         // System.out.println("mkdir:" + file4.mkdir());

34 

35         // File file5 = new File("e:\\test");

36         // File file6 = new File("e:\\test\\aaa");

37         // System.out.println("mkdir:" + file5.mkdir());

38         // System.out.println("mkdir:" + file6.mkdir());

39 

40         // 其实我们有更简单的方法

41         File file7 = new File("e:\\aaa\\bbb\\ccc\\ddd");

42         System.out.println("mkdirs:" + file7.mkdirs());

43 

44         // 看下面的这个东西:

45         File file8 = new File("e:\\liuyi\\a.txt");

46         System.out.println("mkdirs:" + file8.mkdirs());

47     }

48 }

 

 

下面说明一下删除功能:

 1 package cn.itcast_03;

 2 

 3 import java.io.File;

 4 import java.io.IOException;

 5 

 6 /*

 7  * 删除功能:public boolean delete()

 8  * 

 9  * 注意:

10  *         A:如果你创建文件或者文件夹忘了写盘符路径,那么,默认在项目路径下。

11  *         B:Java中的删除不走回收站。

12  *         C:要删除一个文件夹,请注意该文件夹内不能包含文件或者文件夹

13  */

14 public class FileDemo {

15     public static void main(String[] args) throws IOException {

16         // 创建文件

17         // File file = new File("e:\\a.txt");

18         // System.out.println("createNewFile:" + file.createNewFile());

19 

20         // 我不小心写成这个样子了

21         File file = new File("a.txt");

22         System.out.println("createNewFile:" + file.createNewFile());

23 

24         // 继续玩几个

25         File file2 = new File("aaa\\bbb\\ccc");

26         System.out.println("mkdirs:" + file2.mkdirs());

27 

28         // 删除功能:我要删除a.txt这个文件

29         File file3 = new File("a.txt");

30         System.out.println("delete:" + file3.delete());

31 

32         // 删除功能:我要删除ccc这个文件夹

33         File file4 = new File("aaa\\bbb\\ccc");

34         System.out.println("delete:" + file4.delete());

35 

36         // 删除功能:我要删除aaa文件夹

37         // File file5 = new File("aaa");

38         // System.out.println("delete:" + file5.delete());

39 

40         File file6 = new File("aaa\\bbb");

41         File file7 = new File("aaa");

42         System.out.println("delete:" + file6.delete());

43         System.out.println("delete:" + file7.delete());

44     }

45 }

 

下面再来介绍重命名的功能:

 1 package cn.itcast_04;

 2 

 3 import java.io.File;

 4 

 5 /*

 6  * 重命名功能:public boolean renameTo(File dest)

 7  *         如果路径名相同,就是改名。

 8  *         如果路径名不同,就是改名并剪切。

 9  * 

10  * 路径以盘符开始:绝对路径    c:\\a.txt

11  * 路径不以盘符开始:相对路径    a.txt

12  */

13 public class FileDemo {

14     public static void main(String[] args) {

15         // 创建一个文件对象

16         // File file = new File("林青霞.jpg");

17         // // 需求:我要修改这个文件的名称为"东方不败.jpg"

18         // File newFile = new File("东方不败.jpg");

19         // System.out.println("renameTo:" + file.renameTo(newFile));

20 

21         File file2 = new File("东方不败.jpg");

22         File newFile2 = new File("e:\\林青霞.jpg");

23         System.out.println("renameTo:" + file2.renameTo(newFile2));

24     }

25 }

 

 

接下来我们说明一下file的判断功能:

 1 package cn.itcast_05;

 2 

 3 import java.io.File;

 4 

 5 /*

 6  * 判断功能:

 7  * public boolean isDirectory():判断是否是目录

 8  * public boolean isFile():判断是否是文件

 9  * public boolean exists():判断是否存在

10  * public boolean canRead():判断是否可读

11  * public boolean canWrite():判断是否可写

12  * public boolean isHidden():判断是否隐藏

13  */

14 public class FileDemo {

15     public static void main(String[] args) {

16         // 创建文件对象

17         File file = new File("a.txt");

18 

19         System.out.println("isDirectory:" + file.isDirectory());// false

20         System.out.println("isFile:" + file.isFile());// true

21         System.out.println("exists:" + file.exists());// true

22         System.out.println("canRead:" + file.canRead());// true

23         System.out.println("canWrite:" + file.canWrite());// true

24         System.out.println("isHidden:" + file.isHidden());// false

25     }

26 }

我们来说一下file类的获取功能:

 1 package cn.itcast_06;

 2 

 3 import java.io.File;

 4 import java.text.SimpleDateFormat;

 5 import java.util.Date;

 6 

 7 /*

 8  * 获取功能:

 9  * public String getAbsolutePath():获取绝对路径

10  * public String getPath():获取相对路径

11  * public String getName():获取名称

12  * public long length():获取长度。字节数

13  * public long lastModified():获取最后一次的修改时间,毫秒值

14  */

15 public class FileDemo {

16     public static void main(String[] args) {

17         // 创建文件对象

18         File file = new File("demo\\test.txt");

19 

20         System.out.println("getAbsolutePath:" + file.getAbsolutePath());

21         System.out.println("getPath:" + file.getPath());

22         System.out.println("getName:" + file.getName());

23         System.out.println("length:" + file.length());

24         System.out.println("lastModified:" + file.lastModified());

25 

26         // 1416471971031

27         Date d = new Date(1416471971031L);

28         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

29         String s = sdf.format(d);

30         System.out.println(s);

31     }

32 }

上面的执行结果如下:

Android(java)学习笔记87:File类使用

 

 

file类的高级获取功能:

 1 package cn.itcast_07;

 2 

 3 import java.io.File;

 4 

 5 /*

 6  * 获取功能:

 7  * public String[] list():获取指定目录下的所有文件或者文件夹的名称数组

 8  * public File[] listFiles():获取指定目录下的所有文件或者文件夹的File数组

 9  */

10 public class FileDemo {

11     public static void main(String[] args) {

12         // 指定一个目录

13         File file = new File("e:\\");

14 

15         // public String[] list():获取指定目录下的所有文件或者文件夹的名称数组

16         String[] strArray = file.list();

17         for (String s : strArray) {

18             System.out.println(s);

19         }

20         System.out.println("------------");

21 

22         // public File[] listFiles():获取指定目录下的所有文件或者文件夹的File数组

23         File[] fileArray = file.listFiles();

24         for (File f : fileArray) {

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

26         }

27     }

28 }

 

你可能感兴趣的:(android)