一、题目:
编写一个应用程序,输入一个目录和一个文件类型,显示该目录下符合该类型的所有文件。之后,将这些文件中的某一个文件剪切到另外一个目录中。
二、源代码:
package Work; import java.io.File; import java.io.FilenameFilter; import java.util.Scanner; public class Test { /** * @param args */ public static void main(String[] args) { Scanner reader=new Scanner(System.in); System.out.println("输入文件目录:"); String a=reader.nextLine(); File f=new File(a); System.out.println("输入文件后缀:"); String b=reader.nextLine(); FilenameFilter obj=new X(b); String[]filename=f.list(obj); for (String name:filename){ System.out.println(name); } // TODO Auto-generated method stub } } class X implements FilenameFilter{ String type; X(String type){ this.type=type; } public boolean accept(File file,String name){ return name.endsWith(type); } }
三、运行结果:
四、剪切:
import java.io.BufferedInputStream; import java.io.BufferedWriter; import java.io.File; import java.io.FileInputStream; import java.io.FileWriter; import java.io.InputStream; import java.io.Writer; import java.io.FileNotFoundException; import java.io.IOException; import java.util.Scanner; public class Second { public static void main(String[]args){ Scanner sc=new Scanner(System.in); System.out.println("请输入文件名称:"); File readF=new File(sc.next()); System.out.println("请输入文件剪切位置:"); File writeF=new File(sc.next()); InputStream in=null; BufferedInputStream bin=null; Writer w=null; BufferedWriter bw=null; String Sget=new String(); try{ in=new FileInputStream(readF); bin=new BufferedInputStream(in); byte[]b=new byte[1024]; int count=0; while((count=bin.read(b,0,1024))!=-1){ Sget=new String(b,0,count); //System.out.println(new String(b,0,count)); } if (!writeF.exists()) {// 判断文件夹是否创建,没有创建则创建新文件 writeF.createNewFile(); } w=new FileWriter(writeF); bw=new BufferedWriter(w); //String s=sc.nextLine(); bw.write(Sget); }catch(FileNotFoundException e){ e.printStackTrace(); }catch(IOException e){ e.printStackTrace(); }finally{ try{ bin.close(); in.close(); bw.close(); w.close(); readF.delete(); }catch(IOException e){ e.printStackTrace(); } } } }
运行结果: