在linux系统中,/shiji这个目录下写一个最简单的遍历“/home”目录下文件夹的小程序:
import java.io.*;
public class getfile{
  public static void main(String[] args){
    File file = new File("/home");
    System.out.println(file.getName());
    File[] 
files = file.listFiles();
    for(int i = 0; i < files.length; i++){
      System.out.println(files[i].getAbsolutePath());
    }
  }
}
这里,没有指明包结构,如果在代码中有的话,则要在/shiji/这个目录下,建立对应的
目录结构,例:/shiji/com/bxf/linuxTest/
然后,找到java-jdk的安装目录:
我的是:/opt/jdk
进入bin目录下执行:
./javac /baoxiaofei/getfile.java
因为代码简单,一次编译成功!
然后,进入到代码对应的目录:/shiji下执行:
java getfile
得到结果如下:
home
/home/....
/home/....
/home/....
/home/....
处于公司变态的规定,不敢把目录详细列出来!
另外,代码很简单,在eclipse中,按照别人的思路,写了一个(也是很简单)
递归遍历文件的代码,贴上来,免得自己忘了:
package com.baoxiaofei.FileTest;
import java.io.File;
import java.util.LinkedList;
/**
 *遍历文件夹 
 *非递归方式
 * */
public class traverseFolder {
	
	private static final long  ZERO = 0L;
	static int num_file = 0;
	static int num_folder = 0;
	StringBuilder sb = new StringBuilder();
	
	public void traverseWay(File dir){
		File[] files = dir.listFiles();
		LinkedList<File> tmp_list = new LinkedList<File>();
		if(files.length == ZERO){
			System.out.println("the Folder is null!");
		}
		for(int i = 0 ; i < files.length ; i++){
			if(files[i].isDirectory()){
				tmp_list.add(files[i]);
				num_folder++;
			}else{
				sb.append(files[i].getName());
				sb.append("\n\r");
				System.out.println("----the file : " + files[i].getAbsolutePath() + 
						"'s size is :" + files[i].getTotalSpace());
				num_file++;
			}
		}
		File tmp_file;
		while(!tmp_list.isEmpty()){
			tmp_file = (File)tmp_list.removeFirst();
			if(tmp_file.isDirectory()){
				System.out.println("start to traverse :" + tmp_file);
				files = tmp_file.listFiles();
				for(int j = 0 ; j < files.length ; j++){
					System.out.println();
				}
			}
		}
	}
public static void main(String[] args) {
    /*这里就不具体写了*/
}
}