一、题目要求
分析以下需求,并用代码实现
定义一个工具类IOUtils,有以下方法,方法描述如下(以下操作只针对纯文本文件(.txt文件)):
1.copyFile2Dir(String srcFile,String destDir)
参数String srcFile:要复制的源文件
参数String destDir:复制产生的新文件的存储路径(目标路径)
要求:将srcFile文件复制到destDir目标文件夹中(不能改变源文件的名称)
二、代码思路
1、定义工具类
2、创建copyFile2Dir方法
3、使用BufferedReader将目标文件当中的数据读取出来
4、使用BufferedWriter将数据写入到目标路径
三、代码实现
package cn.itcast.javaseday10;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
/**
*
* @author 大家都说名字长不会被发现
* 工具类
*/
public class IoUtils {
public void copyFile2Dir(String srcFile,String destDir) {
try {
//定义字符读取流
BufferedReader bufferReader = new BufferedReader(new FileReader(srcFile));
//定义StringBuilder来拼接写入地址
StringBuilder stringBuilder = new StringBuilder();
//判断给定字符串地址是否有文件/||\\标识符
if(destDir.endsWith("\\") || destDir.endsWith("/")) {
//直接拼接
stringBuilder.append(destDir).append(srcFile);
}else {
//添加一个标识符
stringBuilder.append(destDir).append("/").append(srcFile);
}
//定义字符写入流
BufferedWriter bufferedwriter = new BufferedWriter(new FileWriter(stringBuilder.toString()));
//定义字符数组
char[] srcDataArray = new char[1024*1024];
//定义字符串读取数据
String len;
//循环读取
while((len = bufferReader.readLine()) != null) {
//将字符串转为字符数组
srcDataArray = len.toCharArray();
//写入
bufferedwriter.write(srcDataArray);
//换行
bufferedwriter.newLine();
}
//关流
bufferReader.close();
bufferedwriter.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
package cn.itcast.javaseday10;
/**
*
* @author 大家都说名字长不会被发现
* 分析以下需求,并用代码实现
定义一个工具类IOUtils,有以下方法,方法描述如下(以下操作只针对纯文本文件(.txt文件)):
1.copyFile2Dir(String srcFile,String destDir)
参数String srcFile:要复制的源文件
参数String destDir:复制产生的新文件的存储路径(目标路径)
要求:将srcFile文件复制到destDir目标文件夹中(不能改变源文件的名称)
*/
public class HomeTest04 {
public static void main(String[] args) {
//创建文件拷贝对象
IoUtils ioUtils = new IoUtils();
ioUtils.copyFile2Dir("Student.txt", "C:\\Users\\陈尔高\\Desktop");
}
}