文件(file 类)
题目:
编写一个应用程序,输入一个目录和一个文件类型,显示该目录下符合该类型的所有文件。之后,将这些文件中的某一个文件剪切到另外一个目录中。
代码:
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 类)的更多相关文章
- Java文件File类学习总结
java.io.File类 代表文件和目录,在开发中,读取文件.生成文件.删除文件.修改文件的属性都会用到该类. 常见构造方法: public File(String pathName){} 以pat ...
- Java基础(二十五)Java IO(2)文件File类
File类是一个与流无关的类.File类的对象可以获取文件及其文件所在的目录.文件的长度等信息. 1.File对象的常用构造方法. (1)File(String pathname) File file ...
- java基础文件,File类
此文参考自"Java SE程序设计" 编著: 青岛东合信息技术有限公司 算是做笔记,以后想看可以翻阅,顺便分享出来大家可以参照.如有侵权,请联系本人删除 文件 文件是相关记录或放在 ...
- 【56】java本地文件File类详解
1.java类的介绍 public class File extends Object implements Serializable, Comparable<File> 文件和目录路径名 ...
- IO知识点整理(文件File类的使用)
一: 1.API 2.构造函数的程序 注意这集中构造函数的特点. 同时,字段separator的使用. import java.io.File; public class Test101 { publ ...
- Java中Io流操作-File类的常用操作-创建文件,创建文件夹
package com.hxzy.IOSer; import java.io.File;import java.io.IOException; public class Demo03 { public ...
- Java文件(io)编程——File类的基本用法
1.首先了解文件流的相关概念: 2.文件File类的基本用法 public class Demo_1 { public static void main(String[] args) { //创建一个 ...
- File类学习笔记
File类 首先,要明确的一点就是,在整个IO包中,唯一表示与文件有关的类局势File类. 它可以实现创建或删除文件等操作.下面看看它的构造方法: File(String pathname) 通过将给 ...
- JAVA IO分析一:File类、字节流、字符流、字节字符转换流
因为工作事宜,又有一段时间没有写博客了,趁着今天不是很忙开始IO之路:IO往往是我们忽略但是却又非常重要的部分,在这个讲究人机交互体验的年代,IO问题渐渐成了核心问题. 一.File类 在讲解File ...
- java IO(一):File类
*/ .hljs { display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; } .hl ...
随机推荐
- 小小知识点(三十五)MATLAB中如何更改所画Figure的图形比例
1. 打开一个figure,show plot tools and dock figure 2.选择图形的 more properties 3. 选择aspect ratio中的plotboxaspe ...
- Mybatis-plus 实体类继承关系 插入默认值
在实际开发中,会定义一些公共字段,而这些公共字段,一般都是在进行操作的时候由程序自动将默认值插入.而公共的字段一般会被封装到一个基础的实体类中,同时实体类中会实现相应的getter setter 方法 ...
- sparkstreaming消费kafka后bulk到es
不使用es-hadoop的saveToES,与scala版本冲突问题太多.不使用bulkprocessor,异步提交,es容易oom,速度反而不快.使用BulkRequestBuilder同步提交. ...
- 关于javaweb开发的环境搭建(一)Tomcat
进行Tomcat的下载及环境配置 1.下载地址 http://tomcat.apache.org/ 2.下载的注意事项 下载的Tomcat版本要与自身电脑安装的java版本相匹配,下载时,点击 ...
- 【5min+】 秋名山的竞速。 ValueTask 和 Task
系列介绍 简介 [五分钟的dotnet]是一个利用您的碎片化时间来学习和丰富.net知识的博文系列.它所包含了.net体系中可能会涉及到的方方面面,比如C#的小细节,AspnetCore,微服务中的. ...
- Linux删除文件 清除缓存
相信很多测试 经常会经历开发叫你清除缓存这种事. 那我们要怎么清呢? 一.首先,确认你要清除的缓存在哪个目录下,然后切换到该目录下,比如 我现在知道我的的缓存目录是在newerp这个目录下,则如图 二 ...
- 怎么将文件夹上传到GitHub上
1. 在GitHub上新建一个仓库地址: http://github.com/......git 2. 在需要上传的文件夹目录下,运行 git init 初始化git: 3. 运行git ad ...
- BigDecimal的加减乘除,比较,小数保留
关于BigDecimal的一些常用基本操作记录 1 BigDecimal b1 = new BigDecimal("1.124"); 2 BigDeci ...
- 求1-n 中与 m 互质的素因子 (容斥原理)
ll prime[100]; ll cnt; void getprime(){ cnt = 0; ll num = m; for(ll i = 2; i*i <= m; i++){ // sqr ...
- java 中文乱码问题
1.要记住的事实 java的class文件是utf-8编码的,jvm使用utf-16,而java的字符串使用unicode编码 2.java支持的字符集 java支持的字符集可以通过java.nio. ...