zoukankan      html  css  js  c++  java
  • 第14周作业

    题目:

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

    代码:

    1、Select类

    class Select implements FilenameFilter{
    	
    	String type;
    	Select(String type){
    		this.type=type;
    	}
    
    	public boolean accept(File dir, String name) {
    		return name.endsWith(type);
    	}
    }
    

      

    2、主类

    import java.util.*;
    import java.io.*;
    
    public class test {
    	public static void main(String[] args) throws IOException {
    		//查找指定目录下的全部文件
    		System.out.println("请输入要查询的目录:");
    		Scanner r=new Scanner(System.in);
    		String SearchDir=r.nextLine();
    		File f=new File(SearchDir);
    		String[] AllFiles=f.list();
    		for(String a:AllFiles){
    			System.out.println(a);
    		}
    		//筛选当前目录下,指定类型的文件
    		System.out.println();
    		System.out.println("请输入要筛选的文件类型:");
    		String type=r.nextLine();//接收输入的文件类型
    		Select s=new Select(type);
    		String[] SelFiles=f.list(s);
    		for(String a:SelFiles){
    			System.out.println(a);
    		}
    		//剪切操作
    		System.out.println();
    		System.out.println("请输入需要剪切的文件名:");
    		String name=r.nextLine();
    		File CutFile=new File(SearchDir,name);//此对象是原目录下的原文件
    		System.out.println("请输入剪切到的目录:");
    		String NewPath=r.nextLine();//接收新路径
    		File NewFile=new File(NewPath,name);//此对象是新目录下的同名新文件
    	
    		try {
    			NewFile.createNewFile();//通过方法,创建一个新的文件
    		} catch (IOException e) {
    			e.printStackTrace();
    		}
    
    		BufferedInputStream bin=null;
    		BufferedWriter bw=null;
    		int count=0;
    		byte[]b=new byte[1024];
    		try {
    			
    			bin=new BufferedInputStream(new FileInputStream(CutFile));
    			String str="";//接收原文件中的内容
    			while((count=bin.read(b,0,1024))!=-1){
    				str=str+new String(b);
    			}
    			
    			bw=new BufferedWriter(new FileWriter(NewFile,true));
    			bw.write(str);//将接收的内容写入新文件中
    		
    		} catch (FileNotFoundException e) {
    			e.printStackTrace();
    		} catch (IOException e) {
    			e.printStackTrace();
    		}
    		finally{
    				bin.close();
    				bw.close();
    		}
    		CutFile.delete();//删除源文件
    		
    		
    	}
    
    }
    

      

    运行结果:

    1、所查询目录的初始状态

    2、目标目录的初始状态

    3、程序运行结果

    4、程序运行后,目标目录状态

    5、原目录的状态

  • 相关阅读:
    使用delphi 开发多层应用(十)安全访问服务器
    使用delphi 开发多层应用(十三)使用Basic4android 直接访问kbmMW server
    使用delphi 开发多层应用(十一)使用kbmMW 开发webserver
    basic4android 开发教程翻译(八)使用ListView
    使用delphi 连接国产数据库:达梦
    kbmMW 4.01.00 Beta 1发布了
    解决 ie 下 javascript 设置 table.tBodies.innerHTML 无法设置的问题
    用vs2010 把 vcf 转成 csv,再转入Nokia
    GAC 与 引用 程序集路径
    sqlserver 函数 之 进制转换
  • 原文地址:https://www.cnblogs.com/whohow/p/12001538.html
Copyright © 2011-2022 走看看