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

    一、题目

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

    二、源代码

    package com;
    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 FileType implements FilenameFilter{
        String type;
        F(String type){
            this.type = type;
        }
        public boolean accept(File dir, String name) {
            return name.endsWith(type);//尾部匹配
        } 
    }
    public class Test {
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            Scanner sc=new Scanner(System.in);
            System.out.println("请输入一个目录:");
            String str1=sc.nextLine();//原目录
            File file=new File(str1);
            String[] all = file.list();//调用无参list方法获取该目录下全部文件
            System.out.println("该目录下文件为:");
            for(int i=0;i<all.length;i++){
               System.out.print(all[i]+"
    ");
            } 
            System.out.println("请输入文件类型:");
            FileType filetype= new FileType(sc.nextLine());//输入的文件类型
            String fileList[]=file.list(filetype);
            //显示该目录下符合该类型的所有文件
            System.out.println("该目录下有"+fileList.length+"符合该类型个文件");
            for(int i=0;i<fileList.length;i++) {
                System.out.println(fileList[i]);
            } 
            System.out.println("请输入要剪切的文件:");
            String str2=sc.nextLine();//存放文件名
            File filecut=new File(str1+"\"+str2);//之前的目录f文件名s
            System.out.println("请输入要剪切到的目录:");
            String str3=sc.nextLine();//新目录
            File filePath=new File(str3);
            File newFile=new File(str3+"\"+str2);//存入新的
            try {
                newFile.createNewFile();
            } catch (IOException e1) {
                // TODO Auto-generated catch block
                e1.printStackTrace();
            }
            InputStream inputStream=null;
            BufferedInputStream bufferedInputStream=null;
            String data="";//内容暂存器
            Writer writer=null;
            BufferedWriter bufferedWriter=null;
             try {
                    inputStream = new FileInputStream(filecut);
                    bufferedInputStream = new BufferedInputStream(inputStream);
                    byte[] n = new byte[1024];//存储内容
                    int count = 0;//长度
                    while((count = bufferedInputStream.read(n,0,1024))!=-1){
                        data=data+new String(n,0,count);//遍历到字节存入字符串
                    }
                    writer = new FileWriter(newFile);
                    bufferedWriter = new BufferedWriter(writer);
                    bufferedWriter.write(data);//将内容写入新文件
                } catch (FileNotFoundException e1) {
                    e1.printStackTrace();
                } catch (IOException e) {
                    e.printStackTrace();
                }finally{
                    try {//关闭流
                        bufferedInputStream.close();
                        inputStream.close();
                        bufferedWriter.close();
                        writer.close();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
                System.out.println("剪切成功");
                filecut.delete();//删除原文件
            }
    }

    三、运行结果

     

     

  • 相关阅读:
    mysql自定义函数
    MYSQL常见运算符和函数
    PHP魔术方法和魔术变量总结
    魔术常量(Magic constants)
    常量和静态变量会先载入内存后在进行执行php代码
    php IP转换整形(ip2long)
    面试题1
    Java 通过 BufferReader 实现 文件 写入读取 示例
    UVA 2039 Pets(网络流)
    [置顶] Android框架攻击之Fragment注入
  • 原文地址:https://www.cnblogs.com/jingxueyan/p/12005713.html
Copyright © 2011-2022 走看看