java初学者,求帮助。 java控制台 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 import java.io.BufferedWriter;import java.io.File;import java.io.FileNotFoundException;import java.io.FileWriter;import java.io.IOException;import java.util.ArrayList;import java.util.Arrays;import java.util.List;import java.util.Scanner;public class ListFiles { public static void main(String[] args) { System.out.print("请输入目录:"); Scanner sc = new Scanner(System.in); String dirStr = sc.next(); System.out.print("请输入文件格式(比如JPG、txt、xls、docx……):"); String hzName = sc.next(); System.out.println("要查找的目录为=" + dirStr + ",要查找的文件格式=" + hzName); List<String> list = new ArrayList<String>(); list = listFilesByDirPath(list, dirStr, hzName); System.out.println(Arrays.toString(list.toArray())); writeToFile(list,"D:\\result.txt"); sc.close(); } /** * 列出目录 * @param list * @param path * @param hzm * @return */ public static List<String> listFilesByDirPath(List<String> list, String path, String hzm) { File file = new File(path); String[] files = file.list(); if (null != files) { for (String strName : files) { String newPath = path + File.separator + strName; File fileChild = new File(path + File.separator + strName); if (fileChild.isFile()) { String fileName = fileChild.getName(); int index = fileName.lastIndexOf("."); String hzm_file = fileName.substring(index + 1); if (hzm_file.toLowerCase().equals(hzm.toLowerCase())) { list.add(newPath); } } else { listFilesByDirPath(list, newPath, hzm); } } } else{ System.out.println("不存在该目录"); } return list; } /** * 把结果写入文件 * @param list * @param path */ public static void writeToFile(List<String> list,String path){ try { BufferedWriter bw = new BufferedWriter(new FileWriter(path)); for(int i=0;i<list.size();i++){ String filename = list.get(i); bw.write(filename+"\n"); } bw.flush(); bw.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } }}参考下,如果是作业题,希望楼主下次不要这样发帖了,按1楼兄弟那样说的,你自己先写,看哪边不会,然后把代码贴出来,再问大家 加减乘除 改成JAVA代码 麻烦解释一下里面的几句语言:关于RandomAccessFile的。 有点好玩的中文编程。问:如何将字符(如中文名)赋给姓名? 现在有个包文件,里面有 a 类,如何获取包名 刚学JAVA,遇到点问题,请教一下 写个打印票据的小程序,不知如何能把上边距设小点 工厂设计模式 跨平台播放器 String是引用数据类型 但是是值传递 怎么理解? 有没有收到了JREPORT的userid和licence key!求救!!! spring aop拦截 Java:关于JMS中的Session.AUTO_ACKNOWLEDGE常量
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Scanner;public class ListFiles { public static void main(String[] args) { System.out.print("请输入目录:");
Scanner sc = new Scanner(System.in);
String dirStr = sc.next();
System.out.print("请输入文件格式(比如JPG、txt、xls、docx……):");
String hzName = sc.next();
System.out.println("要查找的目录为=" + dirStr + ",要查找的文件格式=" + hzName);
List<String> list = new ArrayList<String>();
list = listFilesByDirPath(list, dirStr, hzName);
System.out.println(Arrays.toString(list.toArray()));
writeToFile(list,"D:\\result.txt");
sc.close();
} /**
* 列出目录
* @param list
* @param path
* @param hzm
* @return
*/
public static List<String> listFilesByDirPath(List<String> list,
String path, String hzm) { File file = new File(path);
String[] files = file.list();
if (null != files) {
for (String strName : files) {
String newPath = path + File.separator + strName;
File fileChild = new File(path + File.separator + strName);
if (fileChild.isFile()) {
String fileName = fileChild.getName();
int index = fileName.lastIndexOf(".");
String hzm_file = fileName.substring(index + 1);
if (hzm_file.toLowerCase().equals(hzm.toLowerCase())) {
list.add(newPath);
}
} else {
listFilesByDirPath(list, newPath, hzm);
}
}
}
else{
System.out.println("不存在该目录");
}
return list; }
/**
* 把结果写入文件
* @param list
* @param path
*/
public static void writeToFile(List<String> list,String path){
try {
BufferedWriter bw = new BufferedWriter(new FileWriter(path));
for(int i=0;i<list.size();i++){
String filename = list.get(i);
bw.write(filename+"\n");
}
bw.flush();
bw.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}}参考下,如果是作业题,希望楼主下次不要这样发帖了,按1楼兄弟那样说的,你自己先写,看哪边不会,然后把代码贴出来,再问大家