黑马程序员技术交流社区

标题: 编程题 求大神 求解!!!!!!!!!!!!!!! [打印本页]

作者: Mrchenhao    时间: 2016-9-6 18:35
标题: 编程题 求大神 求解!!!!!!!!!!!!!!!
利用递归查找D盘下是否存在number.txt文件,如果没有该文件则创建;提示用户输入10个字符串,以追加的方式写入到number.txt中         求大神 求解!!!!!!!!!!!!!!!!
作者: 孤峰无悔    时间: 2016-9-6 19:00
直接给你讲思路吧
代码我懒得敲了,麻烦

分析:
                                先定义一个方法,统计目标文件夹中的文件个数
                               
                               
                                定义计数器count记录文件个数
                                先将路径("D:\\")封装成File对象
                                获取文件数组
                                判断数组是否为空
                                        不为空,遍历数组
                                                判断是不是文件
                                                        是,比较文件名
                                                                不相同,计数器+1(当计数器等于上面方法的文件个数时,打印>>>该文件不存在)
                                                        不是,递归
                               
                               
                                for循环十次,接收十个字符串
                                        每接收一个字符串直接写到目标文件中(number.txt)
                                                当目标文件不存在时FileOutputStream会自动创建
                                                fos.write(string.getBytes());
数文件的代码给你,其他的自己写吧
[Java] 纯文本查看 复制代码
public  int demo(File file, List<String> list,int count) {
                File [] arr = file.listFiles();
               
                for (File file2 : arr) {
                        if (file2.isFile()) {
                                count++;
                                list.add(file2.getName());
                        }else{
//                                list.add(file2.getName());
                                //不是文件就递归调用,递归返回的就是累加过的文件数!!!!!!!!!
                                count = demo(file2,list,count) ;
                        }
                }
                return count;
        }

作者: Mrchenhao    时间: 2016-9-6 19:09
孤峰无悔 发表于 2016-9-6 19:00
直接给你讲思路吧
代码我懒得敲了,麻烦

非常感谢!!!!但是我有个问题,统计个数作用是什么?
作者: 孤峰无悔    时间: 2016-9-6 19:11
不好意思上面的代码只需要两个参数就够了
传集合进去起始没用
作者: 孤峰无悔    时间: 2016-9-6 19:16
Mrchenhao 发表于 2016-9-6 19:09
非常感谢!!!!但是我有个问题,统计个数作用是什么?

你并不知道什么时候递归完了
也就是遍历完整个d盘
计数就是为了帮你判断是不是遍历完了
当你遍历完了还没有找到时,进行后续操作
也就是录入字符串
作者: Mrchenhao    时间: 2016-9-6 19:33
孤峰无悔 发表于 2016-9-6 19:16
你并不知道什么时候递归完了
也就是遍历完整个d盘
计数就是为了帮你判断是不是遍历完了

我个人觉得不需要知道循环节次数吧
作者: 孤峰无悔    时间: 2016-9-6 19:36
Mrchenhao 发表于 2016-9-6 19:33
我个人觉得不需要知道循环节次数吧

那你怎么判断该文件是否存在呢?




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2