题目:

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

代码:

File_Demo

 /**
* 包含两个类,一个主类一个fileacc类使用了FilenameFilter接口;
*/
package cn.edu.ccut;
import java.io.*;
import java.util.*; public class File_Demo {
public static void main(String[] args) {
System.out.println("请输入文件目录:");
Scanner reader = new Scanner(System.in);
String filename = reader.nextLine();
File fl = new File(filename);
System.out.println("请输入想要查找的文件类型:");
String Filetype = reader.nextLine();
FilenameFilter acc= new fileacc(Filetype); //接口回调获取文件后缀名;
String filelist[] = fl.list(acc); //获取所有与后缀名相同的方法存入filelist数组中;
System.out.println("目录下共有"+filelist.length+"个"+Filetype+"文件");
for(int i = 0 ; i < filelist.length ; i++){
System.out.println(filelist[i]);
}
System.out.println("请输入需要剪切的文件名:");
String cut = reader.nextLine();
System.out.println("请输入需要剪切至那个目录");
String cut_catalogue = reader.nextLine();
CutFile(filename+"\\"+cut,cut_catalogue+"\\"+cut); //传递参数为目录+文件名;
}
public static void CutFile(String name , String catalogue){
File file1 = new File(name);
File file2 = new File(catalogue);
FileInputStream in = null;
FileOutputStream out = null;
byte[] bytes = new byte[1024];
int count = 0 ;
try {
file2.createNewFile(); //在新目录下创建新文件;
in = new FileInputStream(file1);
out = new FileOutputStream(file2);
while((count = in.read(bytes, 0, 1024)) != -1){ //将原来文件内容读写到新的文件中
out.write(bytes, 0, count);
out.flush();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}catch (IOException e) {
e.printStackTrace();
}finally{
if(in != null){
try {
in.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if(out != null)
try {
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
file1.delete(); //删除原文件
}
}
class fileacc implements FilenameFilter{
String str;
fileacc(String str){ //构造方法;
this.str = str;
}
public boolean accept(File dir, String name) { //实现accept方法 ;
return name.endsWith(str);
}
}

运行结果:

文件(file 类)的更多相关文章

  1. Java文件File类学习总结

    java.io.File类 代表文件和目录,在开发中,读取文件.生成文件.删除文件.修改文件的属性都会用到该类. 常见构造方法: public File(String pathName){} 以pat ...

  2. Java基础(二十五)Java IO(2)文件File类

    File类是一个与流无关的类.File类的对象可以获取文件及其文件所在的目录.文件的长度等信息. 1.File对象的常用构造方法. (1)File(String pathname) File file ...

  3. java基础文件,File类

    此文参考自"Java SE程序设计" 编著: 青岛东合信息技术有限公司 算是做笔记,以后想看可以翻阅,顺便分享出来大家可以参照.如有侵权,请联系本人删除 文件 文件是相关记录或放在 ...

  4. 【56】java本地文件File类详解

    1.java类的介绍 public class File extends Object implements Serializable, Comparable<File> 文件和目录路径名 ...

  5. IO知识点整理(文件File类的使用)

    一: 1.API 2.构造函数的程序 注意这集中构造函数的特点. 同时,字段separator的使用. import java.io.File; public class Test101 { publ ...

  6. Java中Io流操作-File类的常用操作-创建文件,创建文件夹

    package com.hxzy.IOSer; import java.io.File;import java.io.IOException; public class Demo03 { public ...

  7. Java文件(io)编程——File类的基本用法

    1.首先了解文件流的相关概念: 2.文件File类的基本用法 public class Demo_1 { public static void main(String[] args) { //创建一个 ...

  8. File类学习笔记

    File类 首先,要明确的一点就是,在整个IO包中,唯一表示与文件有关的类局势File类. 它可以实现创建或删除文件等操作.下面看看它的构造方法: File(String pathname) 通过将给 ...

  9. JAVA IO分析一:File类、字节流、字符流、字节字符转换流

    因为工作事宜,又有一段时间没有写博客了,趁着今天不是很忙开始IO之路:IO往往是我们忽略但是却又非常重要的部分,在这个讲究人机交互体验的年代,IO问题渐渐成了核心问题. 一.File类 在讲解File ...

  10. java IO(一):File类

    */ .hljs { display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; } .hl ...

随机推荐

  1. 程序员初学者参考 ---懂得基础语法后如何做一个自己的case?

    对于很多人来说,我懂java语法,甚至面向对象的特性啦这些都是有了解的,但我就是不会做项目,其实项目真有那么难吗? 对于基础不牢固的人来说,我还不会这个基础点,那个还没学呢,你让我做个项目,我保证做不 ...

  2. Java江湖之设计模式

    Java江湖之设计模式 ps:最近在学习设计模式,感觉这个是个装逼神器呀,就跟武功一样.     某日,senior同学看见rookie同学在练功.     问,"你练得什么武功?" ...

  3. Theia APIs——命令和快捷键

    上一篇:使用Theia——创建语言支持 命令和快捷键 Theia可以通过多种不同的方式进行扩展.命令允许packages提供可以被其它包调用的唯一命令,还可以向这些命令添加快捷键和上下文,使得它们只能 ...

  4. 机器学习回顾篇(14):主成分分析法(PCA)

    .caret, .dropup > .btn > .caret { border-top-color: #000 !important; } .label { border: 1px so ...

  5. pqsql 防注入

    在数据库查询时经常会遇到根据传入的参数查询内容的情况,传入的参数有可能会带有恶意代码,比如or 1=1,这样where判断为true,就会返还所有的记录.为了解决这个问题,可以在参数外面包一层单引号, ...

  6. Spring 框架学习(1)--Spring、Spring MVC扫盲

    纸上得来终觉浅,绝知此事要躬行 文章大纲 什么是spring 传统Java web应用架构 更强的Java Web应用架构--MVC框架 Spring--粘合式框架 spring的内涵 spring核 ...

  7. dp-01背包问题 (升级)

    The story happened long long ago. One day, Cao Cao made a special order called "Chicken Rib&quo ...

  8. 类选择器练习:Google 案例

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...

  9. Centos7.6部署k8s v1.16.4高可用集群(主备模式)

    一.部署环境 主机列表: 主机名 Centos版本 ip docker version flannel version Keepalived version 主机配置 备注 master01 7.6. ...

  10. log4j的xml配置

    主要记录下方便下次查找 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE log4j:conf ...