迟到的第十四周作业
一、编写一个应用程序,输入一个目录和一个文件类型,显示该目录下符合该类型的所有文件。之后,将这些文件中的某一个文件剪切到另外一个目录中。
二、代码
package cn; import java.io.BufferedInputStream; import java.io.BufferedWriter; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileWriter; import java.io.FilenameFilter; import java.io.IOException; import java.io.InputStream; import java.io.Writer; import java.util.Scanner; class w implements FilenameFilter{ String str=null; w(String s){ str="."+s; } public boolean accept(File dir, String name) { return name.endsWith(str); } } public class Test { public static void main(String[] args) { Scanner reader=new Scanner(System.in); System.out.println("请输入目录:"); File f = new File(reader.nextLine()); String[] filename = f.list(); System.out.println("目录下文件为:"+"\n"); for (int i = 0; i < filename.length; i++) { System.out.print(filename[i] + "\n"); } System.out.println("请输入要查找的文件类型:"); w typefile = new w(reader.nextLine()); String[] filetype = f.list(typefile); System.out.println("与查询文件类型相同的文件为:"); for(int j=0;j<filetype.length;j++){ System.out.println(filetype[j]+"\n"); } System.out.println("请输入需要剪切的文件名:"); String j = reader.nextLine(); File jfile = new File(f+"\\"+j);//存入原文件 System.out.println("请输入该文件需要移动到的目录:"); String jway = reader.nextLine(); File jlist = new File(jway);//存入目录 File newfile = new File(jway+"\\"+j); try { newfile.createNewFile();//创建新文件 } catch (IOException i) { i.printStackTrace(); } InputStream inputStream = null; BufferedInputStream bufferedInputStream = null; String filedata=""; Writer writer = null; BufferedWriter bufferedWriter = null; try { inputStream = new FileInputStream(jfile); bufferedInputStream = new BufferedInputStream(inputStream); byte[] b = new byte[1024]; int count = 0; while((count = bufferedInputStream.read(b, 0, 1024))!=-1){ filedata=filedata+new String(b, 0, count);//遍历到字节存入字符串 } writer = new FileWriter(newfile); bufferedWriter = new BufferedWriter(writer); bufferedWriter.write(filedata);//字符串写入新文件 } catch (FileNotFoundException l) { l.printStackTrace(); } catch (IOException i) { i.printStackTrace(); }finally{ try { bufferedInputStream.close();//关闭流 inputStream.close(); bufferedWriter.close(); writer.close(); } catch (IOException i) { i.printStackTrace(); } } jfile.delete();//删除原文件 } }
三、运行结果
posted on 2019-12-06 20:26 Jeacky-wang 阅读(113) 评论(0) 编辑 收藏 举报