如何是获取一个文件夹里所有以.java结尾文件的数目,并把符合条件的文件名写到一个目录下。
2016-08-23 22:46
1101 查看
对于这个题目 我们可以分析一下:
首先我们得拿到这个正确的文件路径
<div><pre name="code" class="java"> public static File getFile(){
Scanner sc = new Scanner(System.in);
System.out.println("请输入文件夹路径:");
//从键盘接收一个文件夹路径
while(true){
String line = sc.nextLine();
File dir = new File(line);
if(!dir.exists()){
System.out.println("您输入的路径有误,请重新输入:");
}else if (dir.isFile()) {
System.out.println("您输入的是一个文件,请重新输入");
}else{
return dir;
}
}
}
其次,可以先判断一下我们所输入的文件路径是否正确,然后,在这个基础上在判断一下这个路径是文件夹还是文件,在判断为文件的基础上再次判断一下是否是.java结尾的文件,计数器即自增一次,字符输出流就写入一次,并且换行一次.
<span style="white-space:pre"> </span>public static int printsubFiles(File dir)throws IOException{
int count=0;<span style="white-space:pre"> </span>//定义一个计数器
这个题目就差不多分析完了 ,接下就是主函数了,直接调用定义好的两个方法,就好了
class Test_5 {
public static void main(String[] args)throws IOException {
File file = getFile();<span style="white-space:pre"> </span>//返回的是一个File类型的数据
System.out.println(printsubFiles(file));<span style="white-space:pre"> </span>
首先我们得拿到这个正确的文件路径
<div><pre name="code" class="java"> public static File getFile(){
Scanner sc = new Scanner(System.in);
System.out.println("请输入文件夹路径:");
//从键盘接收一个文件夹路径
while(true){
String line = sc.nextLine();
File dir = new File(line);
if(!dir.exists()){
System.out.println("您输入的路径有误,请重新输入:");
}else if (dir.isFile()) {
System.out.println("您输入的是一个文件,请重新输入");
}else{
return dir;
}
}
}
其次,可以先判断一下我们所输入的文件路径是否正确,然后,在这个基础上在判断一下这个路径是文件夹还是文件,在判断为文件的基础上再次判断一下是否是.java结尾的文件,计数器即自增一次,字符输出流就写入一次,并且换行一次.
<span style="white-space:pre"> </span>public static int printsubFiles(File dir)throws IOException{
int count=0;<span style="white-space:pre"> </span>//定义一个计数器
BufferedWriter bw = new BufferedWriter(new FileWriter("D:\\times.txt"));<span style="white-space:pre"> </span>//将其写入到指定的目录下
File[] subFiles =dir.listFiles(); //对于判断之后的文件夹进行转换为文件数组并且进行遍历
for(File subFile : subFiles){ <pre name="code" class="java"><span style="white-space:pre"> </span>//判断一下这个文件是以.java后缀名的文件<span style="white-space:pre"> </span>
<span style="white-space:pre"> </span>if(subFile.isFile()&& subFile.getName().endsWith(".java")){<span style="white-space:pre"> </span> count++;<span style="white-space:pre"> </span>//计数器自增一次 bw.write(subFile.getName());<span style="white-space:pre"> </span>//字符输出流写入一次 bw.newLine();<span style="white-space:pre"> </span>//换行一次 }
<span style="white-space:pre"> </span>//递归<span style="white-space:pre"> </span>
<span style="white-space:pre"> </span> else if(subFile.isDirectory()){ <span style="white-space:pre"> </span>//判断一下是否是文件夹 printsubFiles(subFile);<span style="white-space:pre"> </span> //不是,证明是文件夹,继续进行遍历,, } } bw.close();<span style="white-space:pre"> </span>//关流 return count;<span style="white-space:pre"> </span>//返回计数器的值 }
这个题目就差不多分析完了 ,接下就是主函数了,直接调用定义好的两个方法,就好了
class Test_5 {
public static void main(String[] args)throws IOException {
File file = getFile();<span style="white-space:pre"> </span>//返回的是一个File类型的数据
System.out.println(printsubFiles(file));<span style="white-space:pre"> </span>
<span style="white-space:pre"> </span>//打印出count的值,并且可以在<span style="font-family: Arial, Helvetica, sans-serif;">D:\times.txt目录下查看打印出的.java结尾的文件名</span> }
相关文章推荐
- JAVA之File类 获取一个目录下的所有文件夹和文件,包括子文件夹和子文件
- JAVA之File类 获取一个目录下的所有文件夹和文件,包括子文件夹和子文件
- Java-读取某个目录下所有文件、文件夹和3种从文件路径中获取文件名的方法
- java获取一个目录下的所有的文件或文件夹名称
- 获取一个想要的指定文件的集合,获取文件夹下(包含子目录的所有.java的文件对象,并存储到集合中)
- Java中遍历一个文件夹下所有文件及目录的操作
- 如何遍历一个文件夹下的所有文件与目录在(Javascript中)
- 如何获取一个目录下包含子目录内的所有文件名,并保存在一个数组中或XML文档里
- 如何用DOS命令,获取一个目录下的文件数目
- java------用File类列出一个目录下的所有文件夹和文件
- 如何用DOS命令,获取一个目录下的文件数目
- JAVA 一个简单的文件写入代码(遍历文件夹获取所有文件、写入缓冲池、获取文件绝对路径、按后缀名过滤文件)
- Java 根据某个文件名,获取相对应的文件夹,然后取文件夹中所有文件
- JS如何遍历一个文件夹下的所有文件与目录
- 写一个bat文件,删除文件名符合特定规则,且更改日期在某个日期之前的所有目录
- java 获取文件夹所有文件,大小,文件名
- java 如何递归遍历一个文件夹下的所有文件
- 利用java语言获得某个文件夹下符合条件的所有文件
- java 递归获取一个目录下的所有文件路径
- 黑马程序员——list()返回该目录下文件,文件夹,listFiles()返回文件文,件夹对象,递归调用获取所有文件,文件夹,以及文件名过滤