zoukankan      html  css  js  c++  java
  • 迟到的第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("剪切成功");
    }
    }

    运行结果

    剪切前

    剪切后

  • 相关阅读:
    MVC--全选反选
    文件上传(表单,Ajax)、文件下载
    Java的一些细节语法(不定时更新。。。)
    并发基础知识
    Linux基本命令操作
    Linux基本操作和自己动手组装服务器
    VMware虚拟机和CentOS系统的安装过程
    安装操作系统
    中间件介绍
    wifi破解
  • 原文地址:https://www.cnblogs.com/LJTQ/p/12005443.html
Copyright © 2011-2022 走看看