/**
* 文件处理工具类
* @author samLee
*
*/
public class FileUtil {
private static FileReader fr = null;
private static BufferedReader bf = null;
private static FileWriter fw = null;
private static BufferedWriter bw = null;
private static File tempFile_1 =null;
private static File tempFile_2 =null;
/**
* 文件复制
* @param srcFile 源文件路径
* @param targetFile 目标文件路径
* @throws Exception 异常信息
*/
public static void copy(String srcFile,String targetFile) throws IOException{
//如果目标路径的目录不存在,创建它
String tempStr = targetFile.substring(0, targetFile.lastIndexOf("\\")+1);
System.out.println(tempStr);
tempFile_2 = new File(tempStr);
if(!tempFile_2.exists()){
tempFile_2.mkdirs();
}
//初始化流
fr = new FileReader(srcFile);
bf = new BufferedReader(fr);
fw = new FileWriter(targetFile);
bw = new BufferedWriter(fw);
tempFile_1 = new File(targetFile);
//读取第一行
String str = bf.readLine();
//判断文件有没有读取完
while(str!=null){
bw.write(str);
bw.newLine();
bw.flush();
str = bf.readLine();
}
if(tempFile_1.exists()){
System.out.println("文件复制成功");
}
}
/**
* 关闭流
*/
public static void close() throws IOException{
bw.flush();
bw.close();
fw.close();
bf.close();
fr.close();
}
}
public class FileTest {
public static void main(String[] args) {
//这是我要copy的html文件,位于D盘根目录
String srcFile = "D:\\example.html";
//这是我要copy的目标路径
String targetFile = "D:\\htmlDir\\example.html";
try {
FileUtil.copy(srcFile, targetFile);
FileUtil.close();
} catch (IOException e) {
System.out.println("出现异常:");
e.printStackTrace();
}
}
}
分享到:
相关推荐
在使用时,先创建BufferedReader和BufferedWriter实例,然后将它们与FileReader和FileWriter关联,通过readLine()和write()方法实现文本文件的复制。 下面是一个简单的使用FileReader、BufferedReader和...
在Java编程语言中,`BufferedReader`和`BufferedWriter`是两个非常重要的类,它们分别位于`java.io`包中,用于提高字符输入和输出的效率。这两个类继承自抽象基类`Reader`和`Writer`,为读写操作提供了缓冲区功能。 ...
Java I/O 流代码实例大全(01~09) File、FileInputStream、FileOutputStream、FileReader、FileWriter、BufferedInputStream、BufferedOutputStream、BufferedReader、BufferedWriter
6. **InputStreamReader** 和 **OutputStreamWriter**:它们作为桥梁,连接字节流(如FileInputStream和FileOutputStream)和字符流(如BufferedReader和BufferedWriter),可以根据指定的字符集进行转换。...
File、FileInputStream、FileOutputStream、FileReader、FileWriter、BufferedInputStream、BufferedOutputStream、BufferedReader、BufferedWriter、ByteArrayInputStream、ByteArrayOutputStream、...
实例可能涵盖FileInputStream、FileOutputStream、BufferedReader、BufferedWriter等类的使用。 8. **多线程**:Java提供了对多线程的支持,实例可能涉及Thread类的使用、Runnable接口的实现,以及同步控制...
4. **输入输出流**: 文件操作是编程中常见的需求,实例会涉及System.out.println()和Scanner类的使用,以及I/O流的概念,如FileReader、FileWriter、BufferedReader、BufferedWriter等。 5. **集合框架**: Java集合...
BufferedInputStream 和 BufferedOutputStream 是字节流的缓冲版本,而 BufferedReader 和 BufferedWriter 分别是字符流的缓冲实现。通过缓冲,可以在实际读写操作前一次性处理大量数据,减少磁盘或网络I/O的次数。 ...
实例可能包括FileInputStream、FileOutputStream、BufferedReader、BufferedWriter等类的使用,以及NIO(New IO)和NIO.2的高级特性。 通过这些实例,学习者不仅可以巩固理论知识,还能提升动手能力,掌握解决问题...
2. **文件I/O操作**:Java提供了java.io包,其中包含了许多类用于进行文件的读写操作,例如File类、FileReader、FileWriter、BufferedReader、BufferedWriter等。源码实例可能会展示如何使用这些类来创建、读取、...
源代码可能包含文件读写、网络通信或数据序列化等场景,帮助读者掌握FileInputStream、FileOutputStream、BufferedReader、BufferedWriter等类的使用。 6. **多线程**:Java提供了丰富的多线程支持,源码中会包含...
实例中可能包含对FileInputStream、OutputStream、BufferedReader、BufferedWriter等类的使用,同时,也可能涉及Java NIO(非阻塞I/O)的使用,这对于高性能服务器端应用的开发尤其重要。 5. **多线程编程**:Java...
首先,Java的字符流分为输入流(InputStreamReader, BufferedReader)和输出流(OutputStreamWriter, BufferedWriter)。InputStreamReader和OutputStreamWriter是基础的字节到字符的转换流,它们分别用于读取和写入...
2. 为了提高性能,创建对应的BufferedReader和BufferedWriter,分别包装FileInputStream和FileOutputStream。 3. 使用BufferedReader的readLine()方法逐行读取源文件内容,直到返回null表示文件读取完毕。 4. 对每行...
初学者会学习如何使用FileReader、FileWriter,以及BufferedReader、BufferedWriter等。 12. **线程**:Java提供了多线程编程的能力,实例可能包含Thread类的使用和线程同步。 13. **枚举与注解**:枚举是限定的类...
手册会涵盖File类的使用,以及如何利用BufferedReader和BufferedWriter进行文本读写,或者使用FileInputStream和FileOutputStream处理二进制数据。 异常处理是Java编程中的重要环节,用于捕获和处理运行时错误。...
10. **IO流的缓冲区**:BufferedReader和BufferedWriter等类可以提高读写效率,实例会演示它们的用法。 11. **网络编程**:Java的Socket和ServerSocket类支持TCP/IP通信,实例可能包含客户端和服务器端的编程。 12...
6. **输入输出流**:了解I/O流的概念,包括文件读写、对象序列化和反序列化,以及如何使用BufferedReader和BufferedWriter进行文本处理。 7. **多线程**:学习如何创建和管理线程,理解线程同步和通信,如...
- **缓冲区流**:提高读写效率,如BufferedReader和BufferedWriter。 - **对象序列化**:将对象转换为字节流并保存或在网络上传输。 6. **多线程**: - **线程的创建**:通过实现Runnable接口或继承Thread类。 ...