读取文件夹下的文件数量 并输出文件名
package test2;
import java.io.File;
public class ReadPathFile {
//静态的变量可以直接通过类名.变量 来访问,静态变量必须在类里声明。
public static int n = 0;
//directory: 文件路径
public void listfiles(File directory) {
//读取该目录下的文件夹和文件放进files
File[] files = directory.listFiles();
//循环判断files的元素是文件还是文件夹
for (int i = 0; i < files.length; i++) {
//文件夹时,递归调用该方法,查看该文件下的所有文件和文件夹
if (files[i].isDirectory()) {
listfiles(files[i]);
//文件场合,输出该路径和文件名同时文件数加 1
} else if (files[i].isFile()) {
//输出文件的路径
System.out.println(files[i].getParentFile());
//输出文件名
System.out.println(files[i].getName());
n++;
}
}
}
public static void main(String[] args) {
File testfile = new File("G:");
ReadPathFile f = new ReadPathFile();
f.listfiles(testfile);
System.out.println("共有 "+n+" 个文件");
}
}
读取文件:
// Read file
File filePath = new File("C:\DBT\data\BATCH\snd\20101117");
File file = null;
if (filePath.isDirectory()) {
File[] files = filePath.listFiles();
file = newFile(files[files.length - 1].getAbsolutePath());
}
char[] dataChar = newchar[81];
FileReader fr = newFileReader(file);
BufferedReader br = newBufferedReader(fr);
br.read(dataChar, 0, 81);
String head = newString(dataChar);
assertEquals("1ADAHIFAH910100002", head.substring(0, 18));
String headPart = "20101117000000 ";
assertEquals(headPart + new String(newbyte[] { 0x0A }), head.substring(32));