复制D:\\day05目录下的所有文件到D:\\copy,并将.txt文件改为.java文件。
**解题思路:
1.首先定义一个静态的refile方法,参数传入两个文件路径
2.要复制目录下的所有文件,首先查询File类的方法,可以使用listFiles方法得到目录下的文件
3.想到这问题基本就解决了,遍历目录下的所有文件,如果不是.txt文件,那么就直接利用流进行复制(复制路径要进行路径名的重设,也就是拼串操作,具体见代码)如果是.txt文件,那么就要将文件名替换为.java**
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Reader;
import java.io.Writer; public class FileDemo {
public static void main(String[] args) throws IOException {
File file = new File("D:\\day05");
File file1 = new File("D:\\copy");
refile(file,file1); }
public static void refile(File file,File file1) throws IOException{ File[] listFiles = file.listFiles();
for (int i = 0; i < listFiles.length; i++) {
File file2 = listFiles[i];
if(file2.isDirectory()){
refile(file2,file1);
}else{
String name = file2.getName();
if(name.endsWith(".txt")){
String name1 = name.replace(".txt", ".java");
Reader reader = new FileReader(file2);
Writer writer = new FileWriter(file1+"\\"+name1);
char[] byt = new char[10];
int o = 0;
while((o=reader.read(byt))!=-1){
writer.write(byt,0,o);
}
System.out.println(file2.getName()+"复制成功");
}else{
Reader reader = new FileReader(file2);
Writer writer = new FileWriter(file1+"\\"+name);
char[] byt = new char[10];
int o = 0;
while((o=reader.read(byt))!=-1){
writer.write(byt,0,o);
}
System.out.println(file2.getName()+"复制成功");
}
} }
}
}
复制D:\\day05目录下的所有文件到D:\\copy,并将.txt文件改为.java文件。的更多相关文章
- test文件夹,测试类是放在src目录下的,test测试代码是代码啊,当然要放在代码文件夹下
test文件夹,测试类是放在src目录下的,test测试代码是代码啊,当然要放在代码文件夹下 Maven的标准工程结构 Maven的标准工程结构如下: |-- pom.xml(maven的核心配置文件 ...
- eclipse_neon 的Spket 目录下只有一个Task Tags,没有其他的选项,导致没有办法添加提示文件! 添加sdk文件之后还是没有办法显示的解决办法
问题解决办法: 将 spket-1.6.23的安装包里面的features plugins 单独复制到D:\eclipse_neon\dropins 目录下,重启一下eclipse即可正常显示! 添 ...
- eclipse maven项目如何将所有的jar包复制到lib目录下?
1.情景展示 我们知道,maven项目的jar包并不存在于项目当中,项目所需的jar包都保存在本地仓库中,如果本地仓库没有,会从配置的中央仓库下载,如果中央仓库也没有就会报错: 如上图所示,我想将 ...
- spring读取classpath目录下的配置文件通过表达式去注入属性值.txt
spring读取配置文件: 1. spring加载配置文件: <context:property-placeholder location="classpath:config/syst ...
- Linux 只复制目录,不复制目录下数据文件
[root@yoon u02]# mkdir yoon [root@yoon u02]# mkdir hank [root@yoon yoon]# mkdir -p 1/data [root@yoon ...
- VS Build目录下各文件的作用
VS2010中各种类型文件的作用: .sln 相当于VC6中 .dsw .vcxproj 相当于VC6中 .dsp .suo 相当于VC6中 .ncb .vcxproj.filter ...
- 如何让maven 将工程依赖的jar 复制到WEB-INF/lib 目录下
1.在默认生命周期的compile阶段执行 maven-dependency-plugin:copy-dependencies命令即可:<plugin><groupId>org ...
- IDEA编译项目后,target目录下的jsp文件不更新
tomcat目录说明 先来看一下tomcat的目录: |-bin |-conf |-lib |-logs |-temp |-webapps |-work tomcat 的核心是servlet容器,叫 ...
- Python实现插件机制——自动import一个目录下的所有.py文件
假设有这样一个目录结构: /src main.py /plugins __init__.py a.py ...
随机推荐
- js 标签属性与导航
导航标签的方法: 一 , 全局导航: 1.通过by id导航 <!DOCTYPE html><html lang="en"><head> &l ...
- Java环境搭建与配置、以及Tomcat搭建与配置
首先配置Java jdk环境 列如:jdk1.8.0 : 1.首先windows+e打开文件管理系统,找到系统属性,点击“高级系统设置” ,再点击环境变量: 2.在系统变量里边新建:JAVA_HOM ...
- unity3D使用C#遍历场景内所有元素进行操作
最近入门Unity3D,跟着教程做完了survival射击游戏,就想加一个功能,就是按一个按钮屏幕上的怪物都清空. 如图右下角所示. 我的方法是赋予所有怪物一个标签Tag,然后根据标签销毁Gameob ...
- ireport 导出excel 分页 和 文本转数字格式的解决方法
景:ireport 画excel 报表,导出时要求 数据分页,每页包含 标题和页脚 1.画excel 2.处理分页 首先建立一个变量totalNum 用于记录总共有多少条记录,注意设置属性为Integ ...
- IO流之流的操作规律
流的操作规律 IO流中对象很多,解决问题(处理设备上的数据时)到底该用哪个对象呢? 把IO流进行了规律的总结(四个明确): l 明确一:要操作的数据是数据源还是数据目的. 源:InputStream ...
- 从零开始的全栈工程师——PHP篇 ( 单词汇总 ) ( php解决文字乱码 )
解决乱码: header("Content-Type: text/html;charset=utf-8"); 单词 局部的: local 全局的: global 静态的: stat ...
- eclipse中手动设置library,选择编译工具方法
target=android-25sdk.buildtools=25.0.2 target=android-26android.library=falseandroid.library.referen ...
- Linux下的环境部署和项目发布
1.查看系统版本 sudo uname --m i686 //表示是32位 x86_64 // 表示是64位 2.下载对应版本软件,jdk和Tomcat(切记注意版本) jdk: 下载地址:http: ...
- Android之Fragment 基本介绍(转)
Fragment Android是在Android 3.0 (API level 11)开始引入Fragment的. 可以把Fragment想成Activity中的模块,这个模块有自己的布局,有自己的 ...
- solidity语言6
映射 可以认为是哈希,格式 mapping(_KeyType => _ValueType) pragma solidity ^0.4.0; contract MappingExample { m ...