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;
}
}
|
|