Java学习随笔3:遍历文件夹及文件的读取和写入
import java.io.File; /** * 遍历文件夹 */ public class ScannerFile { public static void main(String[] args) { // 1代表缩进,以便更好的显示 printFiles(new File("E:\\eclipse32_workspace\\test"),1); } public static void printFiles(File dir,int tab){ // 判断是否是文件夹 if(dir.isDirectory()){ // 将文件夹下的文件存入next File[] next = dir.listFiles(); for(File file : next){ // 分级显示 for(int i = 0 ; i<tab-1;i++){ System.out.print("|--"); } System.out.println(file.getName()); // 嵌套显示 if(file.isDirectory()){ printFiles(file,tab+1); } } } } }
import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.io.UnsupportedEncodingException; public class ReadFile { public static void main(String[] args) { // 文件读取 File file = new File("test.txt"); if(file.exists()){ System.out.println("文件存在"); try { FileInputStream fis = new FileInputStream(file); InputStreamReader isr = new InputStreamReader(fis, "UTF-8"); BufferedReader br = new BufferedReader(isr); String line; while((line = br.readLine()) != null){ System.out.println(line); } br.close(); isr.close(); fis.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch(UnsupportedEncodingException e){ e.printStackTrace(); } catch(IOException e){ e.printStackTrace(); } } // 文件写入(具有覆盖性) File newFile = new File("newtest.txt"); try { FileOutputStream fos = new FileOutputStream(newFile); OutputStreamWriter osw = new OutputStreamWriter(fos, "UTF-8"); BufferedWriter bw = new BufferedWriter(osw); bw.write("长歌行 汉乐府"); bw.write("青青园中葵,朝露待日晞\n"); bw.write("阳春布德泽,万物生光辉\n"); bw.write("常恐秋节至,焜黄华叶衰\n"); bw.write("百川东到海,何时复西归\n"); bw.write("少壮不努力,老大徒伤悲"); bw.close(); osw.close(); fos.close(); System.out.println("写入完成"); } catch (FileNotFoundException e) { e.printStackTrace(); } catch(UnsupportedEncodingException e){ e.printStackTrace(); } catch(IOException e){ e.printStackTrace(); } } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了