zoukankan      html  css  js  c++  java
  • 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("青青园中葵,朝露待日晞
    ");
                bw.write("阳春布德泽,万物生光辉
    ");
                bw.write("常恐秋节至,焜黄华叶衰
    ");
                bw.write("百川东到海,何时复西归
    ");
                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();
            }
            
        }
    }
  • 相关阅读:
    CentOS 6.x 系统安装选项说明
    MySQL表的操作
    6月13号
    6月11号
    6月10号
    6月9号
    6月6
    day27
    day 28
    day 29
  • 原文地址:https://www.cnblogs.com/mengrennwpu/p/4924306.html
Copyright © 2011-2022 走看看