如何把一個文件復制到另一個目錄?? 如果是移动的话,可以用file1.renameTo(file2);如果是copy,则先读file1,再写到file2.file1如果是一个文件夹的话,就要加上遍历文件夹下的所有文件的一块. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 File src = new File("c:\\data\\file1");File dst = new File("c:\\data1\\file2");src.renameTo(dst);//注意:原来的文件会被删除 http://expert.csdn.net/Expert/topic/1132/1132052.xml?temp=.4150659 创建输入流是c:\data\file1 输出流是c:\data1\file2就可以了呀,很简单 是要copy,要保留原來的文件file1應如何做呢? ControlFile.javaimport java.io.*;import java.text.*;import java.util.*;/** * @author ljt * * To change this generated comment edit the template variable "typecomment": * Window>Preferences>Java>Templates. * To enable and disable the creation of type comments go to * Window>Preferences>Java>Code Generation. */public class ControlFile { //已有文件的路径,需要备份到那个路径的名字 String filePath, aimFilePath; //保存已有文件路径下的所有的文件的名字 存放String,没有考虑子目录的情况 Vector vec; public ControlFile() { filePath = ""; aimFilePath = ""; vec = new Vector(); } public ControlFile(String filePath, String aimFilePath) { this.filePath = filePath; this.aimFilePath = aimFilePath; vec = new Vector(); } //得到目录下所有文件的名字 private void getFileName() { File f = new File(filePath); String str[] = f.list(); for (int i = 0; i < str.length; i++) { vec.addElement(str[i]); } } // 文件的拷贝:::测试成功 private boolean bakFile(String fileName) { try { //读文件 FileReader raf = new FileReader(filePath + fileName); String detail = ""; BufferedReader buff = new BufferedReader(raf); String temp = buff.readLine(); while (temp != null) { detail += temp + "\n"; temp = buff.readLine(); } raf.close(); System.out.println(detail); // /* //写文件 File file = new File(aimFilePath + fileName); PrintWriter out = new PrintWriter(new FileWriter(file)); out.print(detail); out.close(); // */ } catch (FileNotFoundException e) { System.out.println("文件没有找到"); } catch (IOException e) { System.out.println("bakFile 出错"); } return true; } public static void main(String[] args) { // /* ControlFile confile = new ControlFile("D:\\work\\readXml\\", "D:\\work\\bakXml\\"); confile.getFileName(); Vector ve = new Vector(); ve = confile.vec; if (ve != null) for (int i = 0; i < ve.size(); i++) { System.out.println((String) ve.elementAt(i)); confile.bakFile((String) ve.elementAt(i)); } // */ }} java awt 实现颜色管理 关于线程池和队列的小问题 初学者一道十分简单的问题!急! [001]java初學者問題 高手请入:逻辑表达式的计算问题 装jbuilder6的问题(在线!) 这个问题有谁遇过,给点建议 介绍一下关于JAVA 方面的书 请高手帮忙:java打印程序 线程的问题 高手,不在机上运行,谁可以说出编译过程和结果? 初级问题一个(刚开始学习 Java)
输出流是c:\data1\file2
就可以了呀,很简单
import java.text.*;
import java.util.*;/**
* @author ljt
*
* To change this generated comment edit the template variable "typecomment":
* Window>Preferences>Java>Templates.
* To enable and disable the creation of type comments go to
* Window>Preferences>Java>Code Generation.
*/
public class ControlFile {
//已有文件的路径,需要备份到那个路径的名字
String filePath, aimFilePath;
//保存已有文件路径下的所有的文件的名字 存放String,没有考虑子目录的情况
Vector vec;
public ControlFile() {
filePath = "";
aimFilePath = "";
vec = new Vector();
}
public ControlFile(String filePath, String aimFilePath) {
this.filePath = filePath;
this.aimFilePath = aimFilePath;
vec = new Vector();
}
//得到目录下所有文件的名字
private void getFileName() {
File f = new File(filePath);
String str[] = f.list();
for (int i = 0; i < str.length; i++) {
vec.addElement(str[i]);
}
} // 文件的拷贝:::测试成功
private boolean bakFile(String fileName) {
try {
//读文件
FileReader raf = new FileReader(filePath + fileName);
String detail = "";
BufferedReader buff = new BufferedReader(raf);
String temp = buff.readLine();
while (temp != null) {
detail += temp + "\n";
temp = buff.readLine();
}
raf.close();
System.out.println(detail);
// /*
//写文件
File file = new File(aimFilePath + fileName);
PrintWriter out = new PrintWriter(new FileWriter(file));
out.print(detail);
out.close(); // */
} catch (FileNotFoundException e) {
System.out.println("文件没有找到");
} catch (IOException e) {
System.out.println("bakFile 出错");
}
return true;
}
public static void main(String[] args) {
// /*
ControlFile confile =
new ControlFile("D:\\work\\readXml\\", "D:\\work\\bakXml\\");
confile.getFileName();
Vector ve = new Vector();
ve = confile.vec;
if (ve != null)
for (int i = 0; i < ve.size(); i++) {
System.out.println((String) ve.elementAt(i));
confile.bakFile((String) ve.elementAt(i));
}
// */
}
}