QQ登录

只需一步,快速开始

登录 | 立即注册 | 找回密码

主题

帖子

荣誉

新鱼友

Rank: 1

积分
88
查看: 276|回复: 2

[已解决]java这样按要求写的对吗,写完了我自己也很蒙,不太懂;

[复制链接]
最佳答案
0 
累计签到:1 天
连续签到:1 天
xiazhianran6 发表于 2018-1-30 16:01:25 2762 | 显示全部楼层 |阅读模式

马上注册加入鱼C,享用更多服务吧^_^

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
一开始我再                BufferedWriter bw = new BufferedWriter(new FileWriter("c:\\change\\pop.txt"));这行后面加了个true,因为怕递归会把文件覆盖掉,不对,把true去掉就对了?为啥啊

package com.xiapeixin;
import java.io.*;
import java.util.*;
public class Test99
{//1:要求对指定目录进行递归;2:获取所有.java文件;3:存储到集合中;4:写入到文件中;
        public static void main(String[] args) throws Throwable
        {
                File file = new File("D:\\ZTesting\\");
                TreeSet<File> alf = new TreeSet<File>(new MyC());
                getJava(file,alf);
        }
        static void getJava(File dir,TreeSet<File> af) throws IOException
        {
                File [] fs = dir.listFiles();
                for (File f:fs)
                {
                        if (f.isDirectory())
                        {
                                getJava(f,af);
                        }
                        else if (f.getName().endsWith(".java"))
                        {
                                af.add(f);
                        }
                }
                BufferedWriter bw = new BufferedWriter(new FileWriter("c:\\change\\pop.txt"));
               
                for (Iterator <File> i =af.iterator();i.hasNext();)
                {
                        File fo = i.next();
                        bw.write(fo.getAbsolutePath());
                        bw.newLine();
                }
                bw.close();
        }
}
class MyC implements Comparator<File>
{
        @Override
        public int compare(File o1, File o2)
        {               
                return o1.getAbsolutePath().compareTo(o2.getAbsolutePath());
        }
       
}
最佳答案
2018-2-1 11:30:49

BufferedWriter bw = new BufferedWriter(new FileWriter("c:\\change\\pop.txt",true));
这行代码的意思是在pop.txt文件上追加内容,不会覆盖之前的内容。可以使用下面的代码试试:

static void getJava(File dir,TreeSet<File> af) throws IOException
        {
                File [] fs = dir.listFiles();
                for (File f:fs)
                {
                        if (f.isDirectory())
                        {
                                getJava(f,af);
                        }
                        else if (f.getName().endsWith(".java"))
                        {
                                af.add(f);
                                writerString(File f);
                        }
                }
               
        }

static void writerString(File f)
        {
                 BufferedWriter bw = new BufferedWriter(new FileWriter("c:\\change\\pop.txt",true));
                bw.write(f.getAbsolutePath());
                bw.newLine();
                bw.close();
        }
楼层
跳转到指定楼层
最佳答案
1 
累计签到:731 天
连续签到:1 天
腾龙 发表于 2018-2-1 11:30:49 | 显示全部楼层    本楼为最佳答案   

BufferedWriter bw = new BufferedWriter(new FileWriter("c:\\change\\pop.txt",true));
这行代码的意思是在pop.txt文件上追加内容,不会覆盖之前的内容。可以使用下面的代码试试:

static void getJava(File dir,TreeSet<File> af) throws IOException
        {
                File [] fs = dir.listFiles();
                for (File f:fs)
                {
                        if (f.isDirectory())
                        {
                                getJava(f,af);
                        }
                        else if (f.getName().endsWith(".java"))
                        {
                                af.add(f);
                                writerString(File f);
                        }
                }
               
        }

static void writerString(File f)
        {
                 BufferedWriter bw = new BufferedWriter(new FileWriter("c:\\change\\pop.txt",true));
                bw.write(f.getAbsolutePath());
                bw.newLine();
                bw.close();
        }
最佳答案
0 
累计签到:1 天
连续签到:1 天
xiazhianran6  楼主| 发表于 2018-2-1 16:19:46 | 显示全部楼层
你的第13是不是改写writerString(f);

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

小甲鱼强烈推荐 上一条 /2 下一条

    移动客户端下载(未启用)
    微信公众号

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备11014136号

Copyright 2018 鱼C论坛 版权所有 All Rights Reserved.

Powered by Discuz! X3.1 Copyright
© 2001-2018 Comsenz Inc.    All Rights Reserved.

小黑屋|手机版|Archiver|鱼C工作室 ( 粤公网安备 44051102000370号 | 粤ICP备11014136号

GMT+8, 2018-2-23 18:27

快速回复 返回顶部 返回列表