1. 利用File构造器,new 一个文件目录file
1)在其中创建多个文件和目录,测试自己学过的File类的方法
2)手动编写方法,实现删除file中指定文件的操作
​
2. 判断指定目录下是否有后缀名为.jpg的文件,如果有,就输出该文件名称
​
3. 遍历指定目录所有文件名称,包括子文件目录中的文件(注意这句话,经典递归方法,不知道思路的直接问)。
​
4. 创建一个与a.txt文件同目录下的另外一个文件b.txt
​
5.操作D盘下的my.txt文件
1)  判断my.txt文件是否存在
2)  若存在则删除;若不存在则创建
​
6.File类的作用是什么?它是一种流吗?
​
7.使用File类删除某个文件夹(例如D盘下的temp文件夹)下的所有文件和文件夹:
1)  判断temp文件夹下的文件类型,如果是文件则直接删除
2)  如果是文件夹则获取该文件夹下的子文件和文件夹
3)  使用递归的方式删除所有temp文件夹下的文件和文件夹(可参考3题)
1. 利用File构造器,new 一个文件目录file
1)在其中创建多个文件和目录,测试自己学过的File类的方法
2)手动编写方法,实现删除file中指定文件的操作*/
1.1代码:
package com.B.IOStream_14.FileDemo.Ask;
​
import java.io.File;
import java.io.IOException;
​
public class FileA1 {public static void main(String[] args) throws IOException {
//创建对象  、文件File f1 = new File("E:\\JavaDemo\\Demo03\\Web");System.out.println(f1.mkdirs()); //创建多级目录File f2 = new File("E:\\JavaDemo\\Demo04");System.out.println(f2.mkdir()); //创建单级目录File f3 = new File("E:\\JavaDemo\\Demo04\\今天周五很开心.txt");System.out.println(f3.createNewFile());  //创建文件File f4 = new File("E:\\JavaDemo\\Demo04\\明天周六更开心.txt");System.out.println(f4.createNewFile());  //创建文件File f5 = new File("E:\\JavaDemo\\Demo04\\后天周日也开心.txt");System.out.println(f5.createNewFile());  //创建文件System.out.println("-----------");
​
//      删除文件f5f5.delete();
​//根据给定的路径创建一个File对象File file = new File("E:\\JavaDemo");
//调用方法textFile(file);
//        输出文件路径System.out.println(file);}
​//        编写方法,实现删除file中指定文件的操作public static void textFile(File file) {
//        file对象中的文件存储到File文件数组中File[] fileArrary = file.listFiles();if (fileArrary != null) { //增加判断语句非空,增加健壮性for (File f : fileArrary) {  //增强for循环遍历集合,第一个for删除内容//判断该文件是否是文件目录 是递归 否删除if (f.isDirectory()) {//是:递归调用textFile(f);} else//不是:获取绝对路径输出在控制台System.out.println(f.getAbsoluteFile());}}
​
​}
}
运行如下:

运行时发现未能输出其他文件,debug调试时是有这些内容有出现但并未输出,

创建文件:

删除文件:

  1. 判断指定目录下是否有后缀名为.jpg的文件,如果有,就输出该文件名称

    代码:

    package com.B.IOStream_14.FileDemo.Ask;
    ​
    import java.io.File;
    import java.io.IOException;
    ​
    //2. 判断指定目录下是否有后缀名为.jpg的文件,如果有,就输出该文件名称
    public class FileA2 {public static void main(String[] args) throws IOException {//1.创建一个当前文件所在的路径File file = new File("E:\\JavaDemo\\Demo04");
    ​File f1 = new File("E:\\JavaDemo\\Demo04\\买了大橘大利娃衣真开心.txt");System.out.println(f1.createNewFile());  //创建文件File f2 = new File("E:\\JavaDemo\\Demo04\\没钱了QAQ.txt");System.out.println(f2.createNewFile());  //创建文件File f3 = new File("E:\\JavaDemo\\Demo04\\缪拉宝宝.jpg");System.out.println(f3.createNewFile());  //创建文件
    ​//2.用当前目录下的文件名存放到字符数组当中String[] fileNames = file.list();for (String fileName : fileNames) {//Java endsWith() 方法if (fileName.endsWith(".jpg")) {System.out.println(fileName);}}
    //endsWith() 方法用于测试字符串是否以指定的后缀结束。
    //语法
    //public boolean endsWith(String suffix)
    //参数
    //suffix -- 指定的后缀。
    //返回值
    //如果参数表示的字符序列是此对象表示的字符序列的后缀,则返回 true;否则返回 false。注意,如果参数是空字符串,或者等于此 String 对象(用 equals(Object) 方法确定),则结果为 true。
    ​
    ​}
    }

    拓展:

    引入了Java endsWith() 方法


    endsWith() 方法用于测试字符串是否以指定的后缀结束。

    语法

    public boolean endsWith(String suffix)

    参数

    • suffix -- 指定的后缀。

    • 如:

      for (String fileName : fileNames) {//Java endsWith() 方法if (fileName.endsWith(".jpg")) {System.out.println(fileName);}
      }

    返回值

    如果参数表示的字符序列是此对象表示的字符序列的后缀,则返回 true;否则返回 false。注意,如果参数是空字符串,或者等于此 String 对象(用 equals(Object) 方法确定),则结果为 true。

    运行:

    1. 遍历指定目录所有文件名称,包括子文件目录中的文件(注意这句话,经典递归方法,不知道思路的直接问)。

      代码:

      package com.B.IOStream_14.FileDemo.Ask;
      ​
      import java.io.File;
      import java.io.IOException;
      //3.遍历指定目录所有文件名称,包括子文件目录中的文件(注意这句话,经典递归方法)
      public class FileA3 {public static void main(String[] args) throws IOException {//1.创建一个当前文件所在的路径File file = new File("E:\\JavaDemo");
      //调用方法textFile(file);System.out.println(file);}
      ​//        编写方法,实现删除file中指定文件的操作public static void textFile(File file) {
      //        file对象中的文件存储到File文件数组中File[] fileArrary = file.listFiles();if (fileArrary != null) { //增加判断语句非空,增加健壮性for (File f : fileArrary) {  //增强for循环遍历集合,第一个for删除内容//判断该文件是否是文件目录 是递归 否删除if (f.isDirectory()) {//是:递归调用textFile(f);} else//不是:获取绝对路径输出在控制台System.out.println(f.getAbsoluteFile());}}
      ​}
      }

    运行:

  2. 6.File类的作用是什么?它是一种流吗?

    File类的作用是实现java与文件数据交互的类,不是流.

    7.使用File类删除某个文件夹(例如D盘下的temp文件夹)下的所有文件和文件夹: 1) 判断temp文件夹下的文件类型,如果是文件则直接删除 2) 如果是文件夹则获取该文件夹下的子文件和文件夹 3) 使用递归的方式删除所有temp文件夹下的文件和文件夹(可参考3题)

package com.B.IOStream_14.FileDemo.Ask;
​
import java.io.File;
import java.io.IOException;
​
//7.使用File类删除某个文件夹(例如D盘下的temp文件夹)下的所有文件和文件夹:
//1)   判断temp文件夹下的文件类型,如果是文件则直接删除
//2)   如果是文件夹则获取该文件夹下的子文件和文件夹
//3)   使用递归的方式删除所有temp文件夹下的文件和文件夹(可参考3题)
public class FileA7 {public static void main(String[] args) throws IOException {//1.创建一个当前文件所在的路径File file = new File("D:\\temp");System.out.println(file.mkdir());
//        创建文件File f3 = new File("D:\\temp\\今天周五很开心.txt");System.out.println(f3.createNewFile());  //创建文件File f4 = new File("D:\\temp\\明天周六更开心.txt");System.out.println(f4.createNewFile());  //创建文件File f5 = new File("D:\\temp\\后天周日也开心.txt");System.out.println(f5.createNewFile());  //创建文件System.out.println("-----------");
//调用方法textFile(file);System.out.println(file);System.out.println("-----------");
​
​file.delete();System.out.println(file);}
​//        编写方法,实现删除file中指定文件的操作public static void textFile(File file) {
//        file对象中的文件存储到File文件数组中File[] fileArrary = file.listFiles();if (fileArrary != null) { //增加判断语句非空,增加健壮性for (File f : fileArrary) {  //增强for循环遍历集合,第一个for删除内容//判断该文件是否是文件目录 是递归 否删除if (f.isDirectory()) {//是:递归调用textFile(f);} else//不是:获取绝对路径输出在控制台System.out.println(f.getAbsoluteFile());}}
​}
}

创建文件目录temp和文件内容:

执行删除并打印:

File类的学习过程中出现的问题及解决方法相关推荐

  1. @NamedEntityGraphs --JPA按实体类对象参数中的字段排序问题得解决方法

    JPA按实体类对象参数中的字段排序问题得解决方法@Entity @Table(name="complaints") @NamedEntityGraphs({ @NamedEntit ...

  2. 分布式管理系统git的使用(初步)及笔者学习过程中遇到的问题及解决方法

    git分阶段了解学习 git看起来很棒 git我个人理解,管理的是改变和历史,能将不同的版本有条理有顺序的进行系统的管理.比起svn必须选择从中央服务器取得最新版本改完再送回去的这种方式(它必须要有网 ...

  3. 本文主要讲述如何开通自己的博客。若读者不想或已经知道如何开通使用博客,那么就可以跳过。 一直以来,想把自己在学习过程中遇到的问题及解决办法共享给志同道合的人,那么如何分享自己的见解呢?有如下方法

    本 本文主要讲述如何开通自己的博客.若读者不想或已经知道如何开通使用博客,那么就可以跳过. 一直以来,想把自己在学习过程中遇到的问题及解决办法共享给志同道合的人,那么如何分享自己的见解呢?有如下方法, ...

  4. 移动端网页布局中需要注意事项以及解决方法总结

    移动端网页布局中需要注意事项以及解决方法总结,这份对我们在布局移动端网页的时候非常有用! winphone系统a.input标签被点击时产生的半透明灰色背景怎么去掉 <meta name=&qu ...

  5. Nginx中worker connections问题的解决方法

    这篇文章主要介绍了Nginx中worker connections问题的解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 查看日志,有一个[warn]: 3660#0: 20000 work ...

  6. android百度地图覆盖物异步加载图片,Android 百度地图marker中图片不显示的解决方法(推荐)...

    目的: 根据提供的多个经纬度,显示所在地的marker样式,如下: 问题: 1.发现marker中在线加载的图片无法显示出来: 2.获取多个对象后,却只显示出了一个marker: 以下为官网实现方法: ...

  7. 使用遇到的问题_聚氯化铝在使用过程中遇到的问题及解决方法

    聚氯化铝在使用过程中遇到的问题及解决方法 随着现在工业的发展改良,现在的工业废水水质的变化幅度大,导致处理方面也有新的问题出现,常见的有聚氯化铝投入水中产生泡沫,药剂堵塞泵等问题. 聚氯化铝投入水中产 ...

  8. WCF项目中出现常见错误的解决方法:基础连接已经关闭: 连接被意外关闭

    原文:WCF项目中出现常见错误的解决方法:基础连接已经关闭: 连接被意外关闭 在我们开发WCF项目的时候,常常会碰到一些莫名其妙的错误,有时候如果根据它的错误提示信息,一般很难定位到具体的问题所在,而 ...

  9. “this”不能在常量表达式中使用报错的解决方法

    "this"不能在常量表达式中使用报错的解决方法 问题描述与思考 在用C++书写下面一段代码时,编译器报错"'this'不能在常量表达式中使用".在这里,我最开 ...

最新文章

  1. 【javascript】—— JS判断浏览器类型、操作系统
  2. Spring-AOP 引介切面
  3. 史上最全 Python Re 模块讲解(三)
  4. iBatis 到 MyBatis区别
  5. 数风·数林 | 炉石传说中的概率(声控篇)
  6. Android ListView中 每一项都有不同的布局
  7. 8-4 测试http服务器(上)
  8. linux maven安装与入门
  9. MongoDB 数据库管理(不定时更新)
  10. matlab图像频谱分析代码_信号频域分析方法的理解(频谱、能量谱、功率谱、倒频谱、小波分析)...
  11. 宇视服务器硬盘序列号,宇视科技云存储服务器
  12. html/css椭圆运动
  13. Java——自定义图片和居中
  14. 《天涯明月刀》服务器端3D引擎设计与开发
  15. 科目一知识点分类记忆
  16. csgo 机器人模式_csgo怎么加机器人
  17. VBS让室友成为你儿子
  18. 图论——最短路径之渡河问题
  19. 小程序该怎么去做引流和变现呢
  20. 华为:实现流程优化的方法

热门文章

  1. AidLux智慧交通实战-车辆检测AI对抗攻防算法实现
  2. lex编译dos命令_Lex与Yacc学习(一)之环境配置篇
  3. Windows 7下配置Lex和Yacc
  4. 软件设计师-笔记(2)什么是浮点数 ,十进制转浮点数
  5. Flowable商业版本和开源版本功能区别
  6. 连续量产两大4D成像雷达项目,这家国产商率先冲百万级规模市场
  7. WT588F02B-16S单芯片集合语音播报芯片+显示驱动ic功能解决方案
  8. [tensorflow]联邦学习框架TFF安装记录(基于docker)
  9. 8.1 UiPath日期函数的介绍和使用
  10. ovs vxlan 时延和吞吐