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();
        }
        
    }
}
复制代码

 

posted @   mengrennwpu  阅读(520)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示