迟到的第14周作业

编写一个应用程序,输入一个目录和一个文件类型,显示该目录下符合该类型的所有文件。之后,将这些文件中的某一个文件剪切到另外一个目录中。

ps:第一次课请先完成前一部分。

package cc;

import java.io.File;
import java.io.FilenameFilter;
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
System.out.print("请输入路径:");
Scanner sc=new Scanner(System.in);
String path=sc.nextLine();//接受路径
File f=new File(path);
System.out.print("请输入文件的类型:");
String lei=sc.nextLine();
FileAccept accept=new FileAccept(lei);//设置文件的类型
String fileList[]=f.list(accept);
System.out.println("目录下有"+fileList.length+"个文件");
for(int i=0;i<fileList.length;i++){
System.out.println(fileList[i]);//循环输出目录中符合类型的文件
}
}
}
class FileAccept implements FilenameFilter{
String str=null;
FileAccept(String s){//定义构造方法
str="."+s;
}public boolean accept(File dir, String name) {
return name.endsWith(str);//返回类型相同的文件
}


}

运行结果

 

 

/**先通过键盘输入剪切之前的路径和剪切之后的路径
* 然后创建剪切之后的文件
* 通过字符输出流和输入流 对文件进行读取和写入
* 完成之后删除原文件
* */
package ccc;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.Scanner;
public class Test333 {
public static void main(String[] args){
System.out.print("请输入原文件的路径");
Scanner sc=new Scanner(System.in);
String path1=sc.nextLine();
System.out.print("请输入剪切到文件的路径");
String path2=sc.nextLine();
File file=new File(path1);
File file2=new File(path2);
file.deleteOnExit();//
try {
file2.createNewFile();//创建写入的文件
} catch (IOException e) {
e.printStackTrace();
}
InputStream in=null;
OutputStream out=null;
try {
byte cc[]=new byte[1024];//设置一个数组
in=new FileInputStream(file); //创建输入流
out=new FileOutputStream(file2);//创建输出流
int count=-1;//设置标志
try {
while((count=in.read(cc,0,1024))!=-1){//通过循环读取并放入数组
out.write(cc,0,count);//把读到的东西写入文件
}
} catch (IOException e) {
e.printStackTrace();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
finally{
try {
in.close();//关闭文件流
out.close();//关闭文件流
} catch (IOException e) {
e.printStackTrace();
}
}
System.out.print("剪切成功");
}
}

运行结果

剪切前

剪切后

 

 

 

posted @ 2019-12-08 13:07  安稳度余生  阅读(76)  评论(0编辑  收藏  举报