lijunhao189
2018-03-27 02:39
采纳率: 22.7%
浏览 4.9k
已采纳

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,循环就可以了
    样例文件没有提供,问题也没描述清楚,很难给你码出代码的

    打赏 评论

相关推荐 更多相似问题