image.png
    image.png
    image.png
    image.png

    File类的常用方法:
    image.png
    image.png
    image.png

    • File类的使用

      1.File类的一个对象,代表一个文件或一个文件目录(俗称:文件夹)
      2.File类声明在java.io包下
      3.File类中涉及到关于文件或文件目录的创建、删除、重命名、修改时间、文件大小等方法
      并未涉及到写入或读取文件内容的操作。如果需要读取或写入文件内容,必须使用IO流来完成
      4.后续File类的对象常会作为参数传递到流的构造器中,指明读取或写入的“终点”

      **

      1.如何创建file类的实例
      File(String filePath)
      File(String parentPath,String childPath)
      File(File parentFile,String childPath)
      2.
      相对路径:相较于某个文件路径下,指明的路径。
      结对路径:包含盘符在内的文件或文件目录的路径。
      说明:
      IDEA中:
      如果大家开发使用JUnit中的单元测试方法测试,相对路径即为当前Module下。
      如果大家使用main()方法测试,相对路径即为当前Project下。
      Eclipse中;
      不管使用单元测试方法还是使用main()测试,相对路径都是当前的Project下。
      3.路径分隔符
      windows:\
      Unix:/
      /
      **

      /
      1.public String getAbsolutePath():获取绝对路径
      2.public String getPath():获取路径
      3.public String getName():获取名称
      4.public String getParent():获取上层文件目录路径。若无,返回null
      5.public long length():获取文件长度(即:字节数)。不能获取目录长度
      6.pubic long lastModified():获取最后一次的修改时间,毫秒值
      如下的方法使用于文件目录:
      7.public String[] list():获取指定目录下的所有文件或者文件目录的名称数组
      8.public File[] listFiles():获取指定目录下的所有文件或者文件目录的File数组
      /
      **
      /
      public boolean renameTo(File dest):把文件重命名为指定的文件路径
      比如:file1.renameTo(file2)为例:
      要想保证返回true,需要file1在硬盘中时存在的,且file2在硬盘中时不存在的。
      /
      **
      /
      1.public boolean isDirectory():判断是否是文件目录
      2.public boolean isFile():判断是否是文件
      3.public boolean exists():判断是否存在
      4.public boolean canRead():判断是否可读
      5.public boolean canWrite(): 判断是否可写
      6.public boolean isHidden():判断是否隐藏
      /
      **
      /
      创建硬盘中对应的文件或文件目录
      1.public boolean createNewFile():创建文件,若文件存在,则不创建,返回false
      2.public boolean mkdir(): 创建文件目录。如果此文件目录存在,就不创建。如果此文件目录的上层目录不存在,也不创建
      3.public boolean mkdirs(): 创建文件目录。如果上层文件目录不存在,一并创建
      删除磁盘中的文件或文件目录
      1.public boolean delete():
      删除注意事项:
      java中的删除不走回收站。
      /
      **
      ```java package com.atguigu.java4;

    import org.junit.Test;

    import java.io.File; import java.io.IOException; import java.util.Date;

    /**

    • File类的使用 *
    • 1.File类的一个对象,代表一个文件或一个文件目录(俗称:文件夹)
    • 2.File类声明在java.io包下
    • 3.File类中涉及到关于文件或文件目录的创建、删除、重命名、修改时间、文件大小等方法
    • 并未涉及到写入或读取文件内容的操作。如果需要读取或写入文件内容,必须使用IO流来完成
    • 4.后续File类的对象常会作为参数传递到流的构造器中,指明读取或写入的“终点” *
    • @author Dxkstart
    • @create 2021-05-28 21:09 / public class FileTest { / 1.如何创建file类的实例

      1. File(String filePath)
      2. File(String parentPath,String childPath)
      3. File(File parentFile,String childPath)

      2. 相对路径:相较于某个文件路径下,指明的路径。

      结对路径:包含盘符在内的文件或文件目录的路径。

      说明: IDEA中: 如果大家开发使用JUnit中的单元测试方法测试,相对路径即为当前Module下。 如果大家使用main()方法测试,相对路径即为当前Project下。 Eclipse中; 不管使用单元测试方法还是使用main()测试,相对路径都是当前的Project下。

    1. 3.路径分隔符
    2. windows\\
    3. Unix:/
    4. */
    5. @Test
    6. public void test1(){
    7. //构造器1
    8. File file1 = new File("hello.txt");//相对路径,相对于module(idea的)
    9. File file2 = new File("C:\\Users\\Administrator\\Desktop\\helloworld.txt");//绝对路径
    10. System.out.println(file1);
    11. System.out.println(file2);
    12. //构造器2
    13. File file3 = new File("C:\\Users\\Administrator\\Desktop","he");
    14. System.out.println(file3);
    15. //构造器3
    16. File file4 = new File(file3,"hi.txt");
    17. System.out.println(file4);
    18. }
    19. /*
    20. 1.public String getAbsolutePath():获取绝对路径
    21. 2.public String getPath():获取路径
    22. 3.public String getName():获取名称
    23. 4.public String getParent():获取上层文件目录路径。若无,返回null
    24. 5.public long length():获取文件长度(即:字节数)。不能获取目录长度
    25. 6.pubic long lastModified():获取最后一次的修改时间,毫秒值
    26. 如下的方法使用于文件目录:
    27. 7.public String[] list():获取指定目录下的所有文件或者文件目录的名称数组
    28. 8.public File[] listFiles():获取指定目录下的所有文件或者文件目录的File数组
    29. */
    30. @Test
    31. public void test2(){
    32. File file1 = new File("hello.txt");
    33. File file2 = new File("C:\\Users\\Administrator\\Desktop\\IO\\hi.txt");
    34. //获取绝对路径
    35. System.out.println(file1.getAbsoluteFile());
    36. //获取路径
    37. System.out.println(file1.getPath());
    38. //获取名称
    39. System.out.println(file1.getName());
    40. //获取上层文件目录路径。若无,返回null
    41. System.out.println(file1.getParent());
    42. //获取文件长度(即:字节数)。不能获取目录长度
    43. System.out.println(file1.length());
    44. //获取最后一次的修改时间,毫秒值
    45. System.out.println(new Date(file1.lastModified()));
    46. System.out.println("***********");
    47. //获取绝对路径
    48. System.out.println(file2.getAbsoluteFile());
    49. //获取路径
    50. System.out.println(file2.getPath());
    51. //获取名称
    52. System.out.println(file2.getName());
    53. //获取上层文件目录路径。若无,返回null
    54. System.out.println(file2.getParent());
    55. //获取文件长度(即:字节数)。不能获取目录长度
    56. System.out.println(file2.length());
    57. //获取最后一次的修改时间,毫秒值
    58. System.out.println(new Date(file2.lastModified()));
    59. }
    60. @Test
    61. public void test3(){
    62. File file1 = new File("C:\\Users\\Administrator\\Desktop\\IO");
    63. //获取指定目录下的所有文件或者文件目录的名称数组
    64. String[] list = file1.list();
    65. for(String str :list){
    66. System.out.println(str);
    67. }
    68. System.out.println("********");
    69. //获取指定目录下的所有文件或者文件目录的File数组
    70. File[] files = file1.listFiles();
    71. for(File f : files){
    72. System.out.println(f);
    73. }
    74. }
    75. /*
    76. public boolean renameTo(File dest):把文件重命名为指定的文件路径
    77. 比如:file1.renameTo(file2)为例:
    78. 要想保证返回true,需要file1在硬盘中时存在的,且file2在硬盘中时不存在的。
    79. */
    80. @Test
    81. public void test4(){
    82. File file1 = new File("hello.txt");
    83. File file2 = new File("C:\\Users\\Administrator\\Desktop\\IO\\hi1.txt");
    84. boolean renameTo = file2.renameTo(file1);
    85. System.out.println(renameTo);
    86. }
    87. /*
    88. 1.public boolean isDirectory():判断是否是文件目录
    89. 2.public boolean isFile():判断是否是文件
    90. 3.public boolean exists():判断是否存在
    91. 4.public boolean canRead():判断是否可读
    92. 5.public boolean canWrite(): 判断是否可写
    93. 6.public boolean isHidden():判断是否隐藏
    94. */
    95. @Test
    96. public void test5(){
    97. File file = new File("hello.txt");
    98. //判断是否是文件目录
    99. System.out.println(file.isDirectory());
    100. //判断是否是文件
    101. System.out.println(file.isFile());
    102. //判断是否存在
    103. System.out.println(file.exists());
    104. //判断是否可读
    105. System.out.println(file.canRead());
    106. //判断是否可写
    107. System.out.println(file.canWrite());
    108. //判断是否隐藏
    109. System.out.println(file.isHidden());
    110. System.out.println("***********");
    111. File file2 = new File("C:\\Users\\Administrator\\Desktop\\IO");
    112. //判断是否是文件目录
    113. System.out.println(file2.isDirectory());
    114. //判断是否是文件
    115. System.out.println(file2.isFile());
    116. //判断是否存在
    117. System.out.println(file2.exists());
    118. //判断是否可读
    119. System.out.println(file2.canRead());
    120. //判断是否可写
    121. System.out.println(file2.canWrite());
    122. //判断是否隐藏
    123. System.out.println(file2.isHidden());
    124. }
    125. /*
    126. 创建硬盘中对应的文件或文件目录
    127. 1.public boolean createNewFile():创建文件,若文件存在,则不创建,返回false
    128. 2.public boolean mkdir(): 创建文件目录。如果此文件目录存在,就不创建。如果此文件目录的上层目录不存在,也不创建
    129. 3.public boolean mkdirs(): 创建文件目录。如果上层文件目录不存在,一并创建
    130. 删除磁盘中的文件或文件目录
    131. 1.public boolean delete():
    132. 删除注意事项:
    133. java中的删除不走回收站。
    134. */
    135. @Test
    136. public void test6() throws IOException {
    137. //创建文件,若文件存在,则不创建,返回false
    138. File file1 = new File("C:\\Users\\Administrator\\Desktop\\IO\\world.jpg");
    139. if(!file1.exists()) {
    140. file1.createNewFile();
    141. System.out.println("创建成功!");
    142. }else{
    143. file1.delete();
    144. System.out.println("删除成功!");
    145. }
    146. //创建文件目录。如果此文件目录存在,就不创建。如果此文件目录的上层目录不存在,也不创建
    147. File file2 = new File("C:\\Users\\Administrator\\Desktop\\IO\\day08");
    148. if(!file2.exists()){
    149. file2.mkdir();
    150. System.out.println("创建文件夹2成功!");
    151. }else{
    152. file2.delete();
    153. System.out.println("删除文件夹2成功!");
    154. }
    155. //创建文件目录。如果上层文件目录不存在,一并创建
    156. File file3 = new File("C:\\Users\\Administrator\\Desktop\\IO\\day09\\day10");
    157. boolean mkdirs = file3.mkdirs();
    158. if(mkdirs){
    159. System.out.println("创建文件夹3成功!");
    160. }else{
    161. file3.delete();
    162. System.out.println("删除文件夹3成功!");
    163. }
    164. }

    }

    ```