Java文件操作编写一个程序,列出当前目录下所有文件和子目录的名称,并将它们保存在一个文本文件中。说明:对于子目录中的内容,也要递归地进行处理

Java编写一个程序,列出当前目录下所有文件和子目录的名称,并将它们保存在一个文本文件中。说明:对于子目录中的内容,也要递归地进行处理。

困扰了好几个小时,要将字符串写入txt文档中,一条一条目录写入,不能覆盖上一条,如果覆盖了等于没有存储。最终查到,只需在outputStream = new FileOutputStream(file2,true)中加一个参数true即可,最终成功解决!

package pack3;
import java.io.File;
import java.io.FileOutputStream;
public class list1 {
	public static void getFile(File file){
		if(file != null){
			File[] f = file.listFiles();
			if(f != null){
				for(int i=0;i<f.length;i++){
					getFile(f[i]);
				}
			}else{
				System.out.println(file);	
				File file2 = new File("E:/桌面—s/1桌面s/1资源pa/read.txt");
				FileOutputStream outputStream;
				try {
					outputStream = new FileOutputStream(file2,true);//加true这个参数防止覆盖文档之前的字符
					outputStream.write(String.valueOf(file+"\n").getBytes());
					outputStream.close();
				} catch (Exception e) {
					e.printStackTrace();
				}
			}	
		}
	}
	public static void main(String[] args) {
		String path = "E:/桌面—s/网络流量分析文档/"; 
		
		//清空txt文件,不清空会重叠,如果不需要清空可删除这些代码
		File file = new File("E:/桌面—s/1桌面s/1资源pa/read.txt");
		FileOutputStream outputStream;
		try {
			outputStream = new FileOutputStream(file);
			outputStream.write(" ".getBytes());
			outputStream.close();
		} catch (Exception e) {
			e.printStackTrace();
		}
		System.out.println("txt文件已清空,下面开始写入");
		
		File f = new File(path);
		list1.getFile(f);
		System.out.println("所有文件目录已写入txt文档中!");
	}
		
}

输出到文档:
Java文件操作编写一个程序,列出当前目录下所有文件和子目录的名称,并将它们保存在一个文本文件中。说明:对于子目录中的内容,也要递归地进行处理_第1张图片

你可能感兴趣的:(java,Java1)