怎么遍历磁盘上的所有文件? 在java中,怎么用文件的读写,去遍历整个磁盘,并把文件的绝对路径写入一个txt中?求教? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 File.listRoots( ),获取盘符列表,然后递归遍历……File.list()你应该会吧。 你说具体点,我写了个不合适,跑着跑着就不行了,先谢谢了package Test;import java.io.File;public class checkTest { public static void main(String[] args) { checkTest files = new checkTest(); File[] disks = File.listRoots(); for (int i = 0; i < disks.length; i++) { File disk = disks[i]; files.getFiles(disk.getAbsolutePath()); } System.out.println("运行完成!"); } public void getFiles(String path) { File dir = new File(path); File[] files = dir.listFiles(); for (int i = 0; i < files.length; i++) { try { File file = files[i]; if (file.isDirectory()) { getFiles(file.getAbsolutePath()); } if (file.isFile()) { System.out.println(file.getAbsolutePath()); } } catch (NullPointerException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } } }} 我刚学java了,还忘大家多多指教了 dir.listFiles() 可能返回空值,你要先做检查才行。 import java.io.File;import java.io.FileWriter;import java.io.IOException;public class ListDir { public static void main(String[] args) { list("E:\\work\\whj\\src"); } public static void list(String path) { File f = new File(path); if (f.isDirectory()) { // 如果是文件夹,则递归遍历 // 取文件夹下所有文件 File[] array = f.listFiles(); for (int i = 0; i < array.length; i++) { list(array[i].getPath()); } } else { try { FileWriter out=new FileWriter(new File("C:/txt.txt"),true); out.write(f.getName()+"\r\n"); out.flush(); out.close(); } catch (IOException e) { e.printStackTrace(); } // 如果是文件输出文件名,这里可以做删除等操作 System.out.println(f.getName()); } }} 我晓得C#的获得系统的所以文件,java我还没试过 怎样使用泛型,根据条件,返回不同的类型? cmd中运行javac正常,可是出现特殊字符 关于JAVA小程序,急急 A a; A b; swap(a, b); 为什么不能实现交换? 不是非基本数据类型不是传值吗? 下面程序有什么问题? 提一个很怪的问题,我的Jcreator运行的时候写了一会儿程序修改的时候就自动覆盖原来的代码 急!!!!!JTable中CellEditor为JComboBox的问题 关于“数字签名”!我的疑问 奇怪问题,来看看,在线等待,解决立即给分 怎样打开和显示log4j生成的log文件? for循环性能的问题? 一道小难题,Java的class该怎么写?
package Test;import java.io.File;public class checkTest {
public static void main(String[] args) {
checkTest files = new checkTest();
File[] disks = File.listRoots();
for (int i = 0; i < disks.length; i++) {
File disk = disks[i];
files.getFiles(disk.getAbsolutePath());
}
System.out.println("运行完成!");
} public void getFiles(String path) {
File dir = new File(path);
File[] files = dir.listFiles();
for (int i = 0; i < files.length; i++) {
try {
File file = files[i];
if (file.isDirectory()) {
getFiles(file.getAbsolutePath());
}
if (file.isFile()) {
System.out.println(file.getAbsolutePath());
}
} catch (NullPointerException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;public class ListDir {
public static void main(String[] args) {
list("E:\\work\\whj\\src");
}
public static void list(String path) {
File f = new File(path);
if (f.isDirectory()) { // 如果是文件夹,则递归遍历
// 取文件夹下所有文件
File[] array = f.listFiles();
for (int i = 0; i < array.length; i++) {
list(array[i].getPath());
}
} else {
try {
FileWriter out=new FileWriter(new File("C:/txt.txt"),true);
out.write(f.getName()+"\r\n");
out.flush();
out.close();
} catch (IOException e) {
e.printStackTrace();
}
// 如果是文件输出文件名,这里可以做删除等操作
System.out.println(f.getName());
}
}
}