第14周作业
一、题目
编写一个应用程序,输入一个目录和一个文件类型,显示该目录下符合该类型的所有文件。之后,将这些文件中的某一个文件剪切到另外一个目录中。
二、代码
package com.hou1208;
/**
* 输入一个目录和一个文件类型,
* 显示该目录下符合该类型的所有文件。
* 将这些文件中的某一个文件剪切到另外一个目录中
*/
import java.io.*;
import java.util.*;
class FileAccept implements FilenameFilter{
String type;
FileAccept(String type){
this.type = type;
}
public boolean accept(File Fname, String name) {
return name.endsWith(type);
}
}
public class Test {
public static void main(String[] args) {
System.out.println("1.输入一个目录:");
Scanner input = new Scanner(System.in);
String s = input.next();
File Fname = new File(s);
System.out.println("2.输入文件类型:");
Scanner reader = new Scanner(System.in);
String k = reader.next();
FileAccept count = new FileAccept(k);
String fileList[] = Fname.list(count);
System.out.println(s+"-目录下有"+fileList.length+"个文件");
for(int i =0;i<fileList.length;i++) {
System.out.println(fileList[i]);
}
System.out.println("3.输入要剪切的文件");
Scanner reader2 = new Scanner(System.in);
String X = reader2.next();
String f = s+"\\"+X;
File Fname1 = new File(f);
String FilePath = "D:\\JAVA\\001"+"\\"+X;
try(BufferedReader close1 = new BufferedReader(new FileReader(f));
BufferedWriter writer = new BufferedWriter(new FileWriter(FilePath));
) {
String line = null;
while((line=close1.readLine())!=null) {
System.out.println(line);
writer.write(line);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("--被剪切的"+X+"文件"+"已经被剪切到另外一个目录!");
Fname1.delete();
}
}