为什么用length方法获得的文件长度总为0
代码如下:
import java.io.*;
public class Shiyan13B {
public static void main(String[] args)throws IOException {
File Newfile =new File("e:\\new.txt");
Newfile.createNewFile();
FileOutputStream OutFile= new FileOutputStream("e:\\new.txt");
BufferedOutputStream outs=new BufferedOutputStream(OutFile);
DataOutputStream out=new DataOutputStream(outs);
File file= new File("d:\\");
String []name=file.list();
File []Subfile=file.listFiles();
for(int i=0;i<name.length;i++){
if(Subfile[i].isDirectory()){
String []tmp=Subfile[i].list();
for(int stmp=0;stmp<tmp.length;stmp++){
System.out.println("\t\t"+tmp[stmp]);
}
}
else
System.out.println("\t"+name[i]);
}
String []Textname =file.list(new FileText());
for(int i=0;i<Textname.length;i++){
File tmp_file=new File(Textname[i]);
//System.out.println("\t"+Textname[i]);
System.out.println("文件名:"+tmp_file.getName());
System.out.println("文件大小:"+tmp_file.length()+"字节");
System.out.println("绝对路径:"+tmp_file.getAbsolutePath());
}
for(int i=0;i<Subfile.length;i++){
if(Subfile[i].isDirectory()){
;
String []tmp_Text=Subfile[i].list(new FileText());
for(int k=0;k<tmp_Text.length;k++){
File tmp_file=new File(tmp_Text[k]);
System.out.println("文件名:"+tmp_file.getName());
System.out.println("文件大小:"+tmp_file.length()+"字节");
System.out.println("绝对路径:"+tmp_file.getAbsolutePath());
}
}
}
out.close();
}
}
class FileText implements FilenameFilter{
public boolean accept(File dir,String s){
if(s.endsWith(".txt"))
return true;
else
return false;
}
}
功能是想列出指定目录的文件与子目录,并将该目录及其子目录下所有txt文件的路径名、文件名、文件大小等信息保存到指定的文件中。可是结果显示文件大小总是为0字节.
还有如何将文件的信息保存到指定文件.