Task01 递归删除目录
题目
目录结构为如下(尽量不要在c盘中测试哈)
firstLevel目录中,包含一个secondLevel目录和a1.txt和b1.java文件
secondLevel目录中包含dir1和dir2两个目录,和a2.txt和b2.java文件
dir1目录中包含a3.txt和b3.java文件
dir2目录是一个空目录 要求删除firstLevel目录
代码
package day11.Task01;
import java.io.File;
public class Task01 {
public static void main(String[] args) {
File file = new File("D:\\wangdao\\first","firstLevel");
deleteFile(file);
}
public static void deleteFile(File file){
File [] s = file.listFiles();
if(s.length == 0){
file.delete();
}
for (int i = 0; i < s.length; i++) {
if (s[i].isFile()){
s[i].delete();
}
else deleteFile(s[i]);
file.delete();
}
}
// public static void deleteFile(File file){
// File [] s = file.listFiles();
// for (int i = 0; i < s.length; i++) {
// if (s[i].delete()){
//
// }
// else deleteFile(s[i]);
// file.delete();
// }
// }
}
Task02 :输出流-1
题目
有这样的一个words数组,数组中每个字符串的格式为“词性:单词”
String[] words = {“verb:eat”,“verb:drink”,“verb:sleep”,“verb:play”,“noun:rice”,“noun:meat”,“noun:hand”,"noun:hair "};
根据单词性质动词verb全部存入verb.txt文件中
根据单词性质名词noun全部存入noun.txt文件中
代码
package day11.Task02;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
public class Task02 {
public static void main(String[] args) throws IOException {
File file1 = new File("D:\\wangdao\\first\\verb.txt");
file1.createNewFile();
File file2 = new File("D:\\wangdao\\first\\noun.txt");
file2.createNewFile();
String[] words =
{"verb:eat","verb:drink","verb:sleep","verb:play","noun:rice","noun:meat","noun:hand","noun:hair "};
FileOutputStream verbOutputStream = new FileOutputStream("verb.txt");
FileOutputStream nounOutputStream = new FileOutputStream("noun.txt");
for (int i = 0; i < words.length; i++) {
String lineSeparator = System.lineSeparator();
byte[] bytes = words[i].getBytes();
if (words[i].startsWith("verb")){
verbOutputStream.write(bytes);
verbOutputStream.write(lineSeparator.getBytes());
}else{
nounOutputStream.write(bytes);
nounOutputStream.write(lineSeparator.getBytes());
}
}
verbOutputStream.close();
nounOutputStream.close();
}
}
结果
Task03:输出流-2
问题
递归查找指定目录中(包括子目录中),所有的.java文件,并且,把所有这些找到的java文件的文件名, 写入到一个指定文件中。
代码
package day11.Task03;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
public class Task03 {
public static void main(String[] args) throws IOException {
File file = new File("D:\\wangdao\\first\\java.txt");
file.createNewFile();
File filejava = new File("D:\\wangdao\\first\\findjava");
findJava(filejava);
}
public static void findJava(File file) throws IOException {
FileOutputStream fileOutputStream = new FileOutputStream("java.txt",true
);
String lineSeparator = System.lineSeparator();
File[] files = file.listFiles();
if (files.length == 0){
return;
}
for (int i = 0; i < files.length; i++) {
if(files[i].isFile() ) {
if (files[i].getName().endsWith(".java")){
fileOutputStream.write(files[i].getName().getBytes());
fileOutputStream.write(lineSeparator.getBytes());
}
}
else{
findJava(files[i]);
}
}
}
}