File类的学习过程中出现的问题及解决方法
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调试时是有这些内容有出现但并未输出,
创建文件:
删除文件:
判断指定目录下是否有后缀名为.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。
运行:
遍历指定目录所有文件名称,包括子文件目录中的文件(注意这句话,经典递归方法,不知道思路的直接问)。
代码:
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());}} } }
运行:
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类的学习过程中出现的问题及解决方法相关推荐
- @NamedEntityGraphs --JPA按实体类对象参数中的字段排序问题得解决方法
JPA按实体类对象参数中的字段排序问题得解决方法@Entity @Table(name="complaints") @NamedEntityGraphs({ @NamedEntit ...
- 分布式管理系统git的使用(初步)及笔者学习过程中遇到的问题及解决方法
git分阶段了解学习 git看起来很棒 git我个人理解,管理的是改变和历史,能将不同的版本有条理有顺序的进行系统的管理.比起svn必须选择从中央服务器取得最新版本改完再送回去的这种方式(它必须要有网 ...
- 本文主要讲述如何开通自己的博客。若读者不想或已经知道如何开通使用博客,那么就可以跳过。 一直以来,想把自己在学习过程中遇到的问题及解决办法共享给志同道合的人,那么如何分享自己的见解呢?有如下方法
本 本文主要讲述如何开通自己的博客.若读者不想或已经知道如何开通使用博客,那么就可以跳过. 一直以来,想把自己在学习过程中遇到的问题及解决办法共享给志同道合的人,那么如何分享自己的见解呢?有如下方法, ...
- 移动端网页布局中需要注意事项以及解决方法总结
移动端网页布局中需要注意事项以及解决方法总结,这份对我们在布局移动端网页的时候非常有用! winphone系统a.input标签被点击时产生的半透明灰色背景怎么去掉 <meta name=&qu ...
- Nginx中worker connections问题的解决方法
这篇文章主要介绍了Nginx中worker connections问题的解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 查看日志,有一个[warn]: 3660#0: 20000 work ...
- android百度地图覆盖物异步加载图片,Android 百度地图marker中图片不显示的解决方法(推荐)...
目的: 根据提供的多个经纬度,显示所在地的marker样式,如下: 问题: 1.发现marker中在线加载的图片无法显示出来: 2.获取多个对象后,却只显示出了一个marker: 以下为官网实现方法: ...
- 使用遇到的问题_聚氯化铝在使用过程中遇到的问题及解决方法
聚氯化铝在使用过程中遇到的问题及解决方法 随着现在工业的发展改良,现在的工业废水水质的变化幅度大,导致处理方面也有新的问题出现,常见的有聚氯化铝投入水中产生泡沫,药剂堵塞泵等问题. 聚氯化铝投入水中产 ...
- WCF项目中出现常见错误的解决方法:基础连接已经关闭: 连接被意外关闭
原文:WCF项目中出现常见错误的解决方法:基础连接已经关闭: 连接被意外关闭 在我们开发WCF项目的时候,常常会碰到一些莫名其妙的错误,有时候如果根据它的错误提示信息,一般很难定位到具体的问题所在,而 ...
- “this”不能在常量表达式中使用报错的解决方法
"this"不能在常量表达式中使用报错的解决方法 问题描述与思考 在用C++书写下面一段代码时,编译器报错"'this'不能在常量表达式中使用".在这里,我最开 ...
最新文章
- 【javascript】—— JS判断浏览器类型、操作系统
- Spring-AOP 引介切面
- 史上最全 Python Re 模块讲解(三)
- iBatis 到 MyBatis区别
- 数风·数林 | 炉石传说中的概率(声控篇)
- Android ListView中 每一项都有不同的布局
- 8-4 测试http服务器(上)
- linux maven安装与入门
- MongoDB 数据库管理(不定时更新)
- matlab图像频谱分析代码_信号频域分析方法的理解(频谱、能量谱、功率谱、倒频谱、小波分析)...
- 宇视服务器硬盘序列号,宇视科技云存储服务器
- html/css椭圆运动
- Java——自定义图片和居中
- 《天涯明月刀》服务器端3D引擎设计与开发
- 科目一知识点分类记忆
- csgo 机器人模式_csgo怎么加机器人
- VBS让室友成为你儿子
- 图论——最短路径之渡河问题
- 小程序该怎么去做引流和变现呢
- 华为:实现流程优化的方法
热门文章
- AidLux智慧交通实战-车辆检测AI对抗攻防算法实现
- lex编译dos命令_Lex与Yacc学习(一)之环境配置篇
- Windows 7下配置Lex和Yacc
- 软件设计师-笔记(2)什么是浮点数 ,十进制转浮点数
- Flowable商业版本和开源版本功能区别
- 连续量产两大4D成像雷达项目,这家国产商率先冲百万级规模市场
- WT588F02B-16S单芯片集合语音播报芯片+显示驱动ic功能解决方案
- [tensorflow]联邦学习框架TFF安装记录(基于docker)
- 8.1 UiPath日期函数的介绍和使用
- ovs vxlan 时延和吞吐