黑马程序员技术交流社区

标题: (点招3)IO流、递归(╭(╯^╰)╮干货都没人回我) [打印本页]

作者: kangnam    时间: 2016-9-19 19:14
标题: (点招3)IO流、递归(╭(╯^╰)╮干货都没人回我)
package com.dianzhao;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.LineNumberReader;

import jdk.internal.jfr.events.FileWriteEvent;

/*统计D盘有多少个隐藏的文件夹, 项目下有Student.txt
                                        abc
                                        def
                                        ghi
                                        将它拷贝到D盘根目录,并在每行最后面加上行标;
                                        格式如下 abc--1*/
public class Test3 {
        public static void main(String[] args) throws IOException {
               
                File file =new File("D:\\");
                int n =getCount(file);
                System.out.println(n);
                copyFile();
        }

        private static void copyFile() throws FileNotFoundException, IOException {
                /*第一种
                BufferedReader br =new BufferedReader(new FileReader("Student.txt"));
                BufferedWriter bw =new BufferedWriter(new FileWriter("D:\\Student.txt"));
                String s =null;
                int i=1;
                while((s=br.readLine())!=null){
                        bw.write(s+"--"+i++);
                        bw.newLine();
                }
                br.close();
                bw.close();*/
               
                LineNumberReader lnr =new LineNumberReader(new FileReader("Student.txt"));
                BufferedWriter bw =new BufferedWriter(new FileWriter("D:\\Student.txt"));
                String s =null;
                while((s=lnr.readLine())!=null){
                        //这个子类有获取当期行的方法
                        bw.write(s+"--"+lnr.getLineNumber()+"\r\n");
                }
                lnr.close();
                bw.close();
        }

        public static int  getCount(File file) {
                int i=0;
                File[] file1 =file.listFiles();
                //由于子目录下为空,会输出NULL,出现空指针异常
                if(file1!=null){
                for (File file2 : file1) {
                        if(file2.isDirectory()){
                                if (file2.isHidden()) {
                                        i=i+1+getCount(file2);       
                                }else {
                                        i=i+getCount(file2);
                                }
                        }
                }
        }
                return i;
        }
}



作者: 江月念华    时间: 2016-9-19 23:30
这是什么的点招题,感觉很难的样子
作者: kangnam    时间: 2016-9-20 00:33
江月念华 发表于 2016-9-19 23:30
这是什么的点招题,感觉很难的样子

JavaEE的哟。。
作者: 山雨欲来风满楼    时间: 2016-9-20 00:39
好东西。。。




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