zoukankan      html  css  js  c++  java
  • Java基础面试操作题: File IO 文件过滤器FileFilter 练习 把一个文件夹下的.java文件复制到另一个文件夹下的.txt文件

    package com.swift;
    
    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 Copy_java_To_txt {
    
        public static void main(String[] args) {
            /*
             * 把一个文件夹下的.java文件复制到另一个文件夹下的.txt文件
             */
            try {
                StringBuffer sb = new StringBuffer();
                BufferedReader br = new BufferedReader(
                        new InputStreamReader(new FileInputStream("e:\neck\test.java"), "utf-8"));
                String str;
                while ((str = br.readLine()) != null) {
                    System.out.println("从文件中读取了一行...");
                    sb.append(str);
                    sb.append("
    ");
                }
                
                System.out.println("文件读取到容器成功"+"
    "+sb.toString());
                
                String dir="e:\apple";
                String fileName="test.txt";
                File file=new File(dir,fileName);
                if(!file.getParentFile().exists()) {
                    System.out.println(file.getParentFile()+"目录不存在,即将创建...");
                    file.getParentFile().mkdirs();
                }else {
                    System.out.println("目录存在,不用创建...");
                }
                BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file),"utf-8"));
                bw.write(sb.toString());
                bw.flush();
    
            } catch (UnsupportedEncodingException e) {
                e.printStackTrace();
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    
    }

    上面是指定哪个文件进行复制

    下边是搜索出所有的以.java结尾的文件复制到另一个文件夹并改名

    需要用到下边的两种列表

    list()方法是返回某个目录下的所有文件和目录的文件名,返回的是String数组

    listFiles()方法是返回某个目录下所有文件和目录的绝对路径,返回的是File数组

    package com.swift;
    
    import java.io.BufferedReader;
    import java.io.BufferedWriter;
    import java.io.File;
    import java.io.FileFilter;
    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 Copy_java_To_txt {
    
        public static void main(String[] args) {
            /*
             * 把一个文件夹下的.java文件(需要搜索所有以.java结尾的文件)复制到另一个文件夹下的.txt文件(改名为.txt的文件)
             */
            File[] files = null;
            try {
                StringBuffer sb = new StringBuffer();
                File dir_source = new File("e:\neck");
                File dir_destination = new File("e:\apple");
                
                if(!dir_destination.exists()) {
                    dir_destination.mkdirs();
                }
                
                if (dir_source.exists()) {
                    System.out.println("搜索地址存在...");
                    if (dir_source.isDirectory()) {
                        System.out.println("此地址是一个目录...");
                        files = dir_source.listFiles(new FileFilter() {
    
                            @Override
                            public boolean accept(File arg0) {
                                return arg0.getName().endsWith(".java");
                            }
                        });
                    } else {
                        System.out.println("此地址不是目录...");
                    }
                } else {
                    System.out.println("搜索地址不存在...");
                }
    
                for (File f : files) {
                    System.out.println(f);
                    BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(f), "utf-8"));
                    String str;
                    while ((str = br.readLine()) != null) {
                        System.out.println("从文件中读取了一行...");
                        sb.append(str);
                        sb.append("
    ");
                    }
    
                    System.out.println("一个 文件读取到容器成功" + "
    " + sb.toString());
    
                    BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(
                            new FileOutputStream(new File(dir_destination, f.getName().replaceAll(".java", ".txt"))),
                            "utf-8"));
                    bw.write(sb.toString());
                    bw.flush();
                    sb.delete(0, sb.length());//也可以sb.setLength(0);sb= new StringBuffer();都可以清空StringBuffer
                    
                }
            } catch (UnsupportedEncodingException e) {
                e.printStackTrace();
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    
    }
  • 相关阅读:
    ros 无线WDS MESH配置一(这个不好用,没有方法二好用)
    ROS脚本编辑器Notepad++装一个mikrotik的插件 RouterOS-Syntax-highliter
    关于ip-neighbor里的mac telnet的一些说明
    ros无线2G和5G的带宽简单计算
    ros的AP创建20个虚拟AP-VAP的脚本
    python异常值(outlier)检测实战:KMeans + PCA + IsolationForest + SVM + EllipticEnvelope
    str.replace替换变量名的字符串
    pd.ExcelWriter(to_excel)保存结果到已存在的excel文件中
    pandas.DataFrame.dropna删除缺失值
    pandas.DataFrame.astype数据结构转换
  • 原文地址:https://www.cnblogs.com/qingyundian/p/8313424.html
Copyright © 2011-2022 走看看