黑马程序员技术交流社区
标题:
这道递归题不会,哪位大神帮我看看
[打印本页]
作者:
zzdhm
时间:
2016-9-15 19:57
标题:
这道递归题不会,哪位大神帮我看看
利用递归查找D盘下是否存在number.txt文件,如果没有该文件则创建;提示用户输入10个字符串,以追加的方式写入到number.txt中
作者:
zhoubinjian
时间:
2016-9-15 20:07
这里递归的运用在于判断了是文件夹就再次调用本方法,思路是:1.先遍历文件夹,是文件,就获取文件名,判断是不是以number开头,以,txt结尾,是提示输入,不是 的话就进行下一次循环,2.判断了如果是文件夹,就调用方法自身,遍历这个文件夹,重复第一个步骤,3.全部遍历完后都没有number.txt这个文件,就new一个文件就行啦
作者:
somnus-sir
时间:
2016-9-16 20:58
package com.whn.practice;
import java.io.File;
import java.io.FileOutputStream;
import java.util.Scanner;
public class Test7 {
private static FileOutputStream fos;
public static void main(String[] args) throws Exception {
File file = new File("D:\\test");
File have = isHave(file);
if (have==null) {
System.out.println("没有这个文件,创建number.txt");
File file2 = new File("D:\\test\\number.txt");
file2.createNewFile();
}
Scanner sc = new Scanner(System.in);
for (int i = 0; i < 10; i++) {
System.out.println("请输入字符串");
String nextLine = sc.nextLine();
fos = new FileOutputStream("D:\\test\\number.txt",true);
fos.write((nextLine+" ").getBytes());
}
System.out.println("输入完毕");
fos.close();
}
/**
* 判断是否存在
*/
private static File isHave(File file) {
File[] files = file.listFiles();
for (File subFile : files) {
if (subFile.isDirectory()) {
isHave(subFile);
}else{
if("number.txt".equals(subFile.getName())){
return subFile;
}
}
}
return null;
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2