lijunhao189 2018-03-27 02:39 采纳率: 0%
浏览 5168
已采纳

java代码读取文件夹下所有文件内容,实现读取一个文件处理一个文件!?

java代码读取文件夹下所有文件内容,实现读取一个文件根据经、纬度字段计算距离,最后写出的文件命名均以文件夹下原文件的名字命名(比如原文件是1.txt,写出的文件就是1.txt)

求大神给个java代码实现!!!!!

  • 写回答

4条回答 默认 最新

  • doracaitlin 2018-03-27 03:27
    关注

    先获取文件,然后对原文件进行读写就可以了
    /**
    * One.txt中的数据如下:
    * 1
    * 2
    * 3
    * 4
    * 5
    * -----------------
    * 读操作方法
    */
    @Test
    public void readFileToList2() {
    File file = new File("C:\Users\Desktop\One.txt");
    System.out.println("文件绝对路径 :"+file.getAbsolutePath());
    List listStr = new ArrayList();
    BufferedReader br = null;
    String str = null;
    try {
    br = new BufferedReader(new FileReader(file));
    while ((str = br.readLine())!= null) {
    listStr.add(str);
    }
    } catch (FileNotFoundException e) {
    e.printStackTrace();
    }catch (IOException e) {
    e.printStackTrace();
    }
    System.out.println(listStr);
    writeListToFile(listStr);// 调用写操作方法
    }

    /**
     * 实现写操作方法
     */
    private void writeListToFile(List<String> listStr) {
        File file = new File("C:\\Users\\Desktop\\Azzan.txt");// 要写入的文件路径
        if (!file.exists()) {// 判断文件是否存在
            try {
                file.createNewFile();// 如果文件不存在创建文件
                System.out.println("文件"+file.getName()+"不存在已为您创建!");
            } catch (IOException e) {
                System.out.println("创建文件异常!");
                e.printStackTrace();
            }
        } else {
            System.out.println("文件"+file.getName()+"已存在!");
        }
    
        for (String str : listStr) {// 遍历listStr集合
            FileOutputStream fos = null;
            PrintStream ps = null;
            try {
                fos = new FileOutputStream(file,true);// 文件输出流    追加
                ps = new PrintStream(fos);
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            }
            String string  = str + "\r\n";// +换行
            ps.print(string); // 执行写操作
            ps.close(); // 关闭流
    
        }
    
        System.out.println("文件写入完毕!");
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • 云烟雾漫 2018-03-27 03:13
    关注

    File.list()方法就能列出来目录下的所有文件名

    评论
  • Zytkong 2018-03-27 03:15
    关注

    File.list()方法就能列出来目录下的所有文件名这个方法很有效

    评论
  • 湛耀 2018-03-27 06:18
    关注

    首先,你需要注意一下问问题的方式。你问的问题的重点是经纬度计算,还是文件读取,抑或是批量文件处理问题?
    经纬度计算参考:https://blog.csdn.net/xiejm2333/article/details/73297004
    文件读取,这个也没难度
    文件批量处理,可以考虑使用 spring batch框架,如果不想引入其它框架,基本思路就是 read、process、write,循环就可以了
    样例文件没有提供,问题也没描述清楚,很难给你码出代码的

    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 关于#tensorflow#的问题:有没有什么方法可以让机器自己学会像素风格的图片
  • ¥15 Oracle触发器字段变化时插入指定值
  • ¥15 docker无法进入容器内部
  • ¥15 qt https 依赖openssl 静态库
  • ¥15 python flask 报错
  • ¥15 改个密码引发的项目启动问题
  • ¥100 CentOS7单线多拨
  • ¥15 debian安装过程中老是出现无法将g21dr复制到g21dr怎么解决呀?
  • ¥15 如何用python实现跨工作簿的指定区域批量复制粘贴
  • ¥15 基于CH573f的雷迪安CR1400m通讯代码