test.("G:\\G盘寄存资料\\我的文档1\\音乐课堂.doc","G:\\G盘寄存资料");
请注意上面的有个文件夹名字叫“G盘寄存资料”,你复制的文件后的新文件名也叫“G盘寄存资料”,这样名字重复了,所以就出错了。
可以把程序改成这样的话就行了:
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
public class FileCopy {
public void (String src, String dest){//**********
InputStream is=null;
OutputStream os=null;
char ch[]=src.toCharArray();
//************新添加的代码**********
int pos=0;
for(int i=ch.length-1;i>=0;i--)
{
if(ch[i]=='\\')
{
if(i>pos)
pos=i;
}
}
String temp=src.substring(pos);
dest=dest+temp;
System.out.println("dest="+dest);
//****************************************
try {
is=new BufferedInputStream(new FileInputStream(src));
os=new BufferedOutputStream(new FileOutputStream(dest));
byte[] b=new byte[256];
int len=0;
String str=null;
StringBuilder sb=new StringBuilder();
try {
while((len=is.read(b))!=-1){
os.write(b,0,len);
}
os.flush();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
if(is!=null){
try {
is.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}finally{
if(os!=null){
try {
os.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
public static void main(String[] args) {
FileCopy test=new FileCopy();
test.("G:\\G盘寄存资料\\我的文档1\\hello.txt","G:\\G盘寄存资料");//++++++++++++++++++++++
}
}
2. Java代码拷贝文件夹 注:复制文件夹
Java代码复制文件夹时,则需要利用Flie类在目标文件夹中创建相应的目录,并且使用递归方法,代码如下:
importjava.io.*;
/**
*复制文件夹或文件夹
*/
publicclassCopyDirectory{
//源文件夹
staticStringurl1="F:/photos";
//目标文件夹
staticStringurl2="D:/tempPhotos";
publicstaticvoidmain(Stringargs[])throwsIOException{
//创建目标文件夹
(newFile(url2)).mkdirs();
//获取源文件夹当前下的文件或目录
File[]file=(newFile(url1)).listFiles();
for(inti=0;i<file.length;i++){
if(file[i].isFile()){
//复制文件
File(file[i],newFile(url2+file[i].getName()));
}
if(file[i].isDirectory()){
//复制目录
StringsourceDir=url1+File.separator+file[i].getName();
StringtargetDir=url2+File.separator+file[i].getName();
Directiory(sourceDir,targetDir);
}
}
}
//复制文件
publicstaticvoidFile(FilesourceFile,FiletargetFile)
throwsIOException{
//新建文件输入流并对它进行缓冲
FileInputStreaminput=newFileInputStream(sourceFile);
BufferedInputStreaminBuff=newBufferedInputStream(input);
//新建文件输出流并对它进行缓冲
FileOutputStreamoutput=newFileOutputStream(targetFile);
BufferedOutputStreamoutBuff=newBufferedOutputStream(output);
//缓冲数组
byte[]b=newbyte[1024*5];
intlen;
while((len=inBuff.read(b))!=-1){
outBuff.write(b,0,len);
}
//刷新此缓冲的输出流
outBuff.flush();
//关闭流
inBuff.close();
outBuff.close();
output.close();
input.close();
}
//复制文件夹
publicstaticvoidDirectiory(StringsourceDir,StringtargetDir)
throwsIOException{
//新建目标目录
(newFile(targetDir)).mkdirs();
//获取源文件夹当前下的文件或目录
File[]file=(newFile(sourceDir)).listFiles();
for(inti=0;i<file.length;i++){
if(file[i].isFile()){
//源文件
FilesourceFile=file[i];
//目标文件
FiletargetFile=newFile(newFile(targetDir).getAbsolutePath()+File.separator+file[i].getName());
File(sourceFile,targetFile);
}
if(file[i].isDirectory()){
//准备复制的源文件夹
Stringdir1=sourceDir+"/"+file[i].getName();
//准备复制的目标文件夹
Stringdir2=targetDir+"/"+file[i].getName();
Directiory(dir1,dir2);
}
}
}
}
3. java 复制一个指定文件夹下的指定文件 到另一个指定文件夹下
下面是我学习过程中总结的几个复制文件的方法,代码如下:
/**
*复制媒体文件,该例子是复制1.mp3文件,列出了四种方式.
*/
importjava.io.BufferedInputStream;
importjava.io.BufferedOutputStream;
importjava.io.FileInputStream;
importjava.io.FileNotFoundException;
importjava.io.FileOutputStream;
importjava.io.IOException;
{
publicstaticvoidmain(String[]args)throwsIOException{
/**
*共有四个方法,但建议用demo1,demo2;因为demo3需要创建数组,如果文件大,光创建数组就需要很多时间;demo4一定也不要用,
*效率非常慢.
*/
demo1();
demo2();
demo3();
demo4();
}
publicstaticvoiddemo1()throwsFileNotFoundException,IOException{
FileInputStreamfis=newFileInputStream("d:\1.mp3");
FileOutputStreamfos=newFileOutputStream("d:\01.mp3");
intlen=0;
byte[]buf=newbyte[1024];
while((len=fis.read(buf))!=-1){
fos.write(buf,0,len);
}
fis.close();
fos.close();
}
publicstaticvoiddemo2()throwsIOException{
FileInputStreamfis=newFileInputStream("d:\1.mp3");
BufferedInputStreambufis=newBufferedInputStream(fis);
FileOutputStreamfos=newFileOutputStream("d:\02.mp3");
BufferedOutputStreambufos=newBufferedOutputStream(fos);
intlen=0;
while((len=bufis.read())!=-1){
bufos.write(len);
}
bufis.close();
bufos.close();
}
//不建议这种方式
publicstaticvoiddemo3()throwsIOException{
FileInputStreamfis=newFileInputStream("d:\1.mp3");
FileOutputStreamfos=newFileOutputStream("d:\03.mp3");
byte[]buf=newbyte[fis.available()];
fis.read(buf);
fos.write(buf);
fos.close();
fis.close();
}
publicstaticvoiddemo4()throwsIOException{
FileInputStreamfis=newFileInputStream("d:\1.mp3");
FileOutputStreamfos=newFileOutputStream("d:\04.mp3");
intch=0;
while((ch=fis.read())!=-1){
fos.write(ch);
}
fos.close();
fis.close();
}
}
4. java 编写程序,拷贝一个带内容的文件夹。 例如:将c:\program files\java 文件夹拷贝到D盘的根目录下
一、复制文件代码
print?import java.io.*;
import java.util.*;
class Copy
{
static void (String from,String to) throws IOException
{
BufferedReader in=new BufferedReader(new FileReader(from));
BufferedWriter out=new BufferedWriter(new FileWriter(new File(to)));
String line=null;
while((line=in.readLine())!=null)
{
out.write(line+"\n");
}
in.close();
out.close();
}
public static void main(String[] args) throws IOException
{
Scanner sc=new Scanner(System.in);
System.out.print("请输入文件路径:");
String from=sc.next();
System.out.print("请输入拷贝路径:");
String to=sc.next();
(from,to);
}
}
import java.io.*;
import java.util.*;
class Copy
{
static void (String from,String to) throws IOException
{
BufferedReader in=new BufferedReader(new FileReader(from));
BufferedWriter out=new BufferedWriter(new FileWriter(new File(to)));
String line=null;
while((line=in.readLine())!=null)
{
out.write(line+"\n");
}
in.close();
out.close();
}
public static void main(String[] args) throws IOException
{
Scanner sc=new Scanner(System.in);
System.out.print("请输入文件路径:");
String from=sc.next();
System.out.print("请输入拷贝路径:");
String to=sc.next();
(from,to);
}
}
二、复制文件夹代码 https://wenku..com/view/2fedc744f7ec4afe04a1df37.html
5. 利用JAVA语言编写一个 名为的程序 实现文件的拷贝功能,应该怎样做
import java.io.File;x0dx0aimport java.io.FileInputStream;x0dx0aimport java.io.FileNotFoundException;x0dx0aimport java.io.FileOutputStream;x0dx0aimport java.io.IOException;x0dx0apublic class Copy {x0dx0a/**x0dx0a* @param argsx0dx0a*/x0dx0apublic static void main(String[] args) {x0dx0a// TODO Auto-generated method stubx0dx0aif(args.length!=2){x0dx0aSystem.out.print("没有输入正确数目的参数,程序退出!");x0dx0aSystem.exit(0);x0dx0a}x0dx0aFile fileS = new File("./"+args[0]);x0dx0aFile fileD = new File("./"+args[1]);x0dx0aif(fileD.exists())System.out.println("目标文件 "+args[1]+" 已存在!");x0dx0abyte[] temp = new byte[50];x0dx0aint totalSize = 0;x0dx0atry {x0dx0aFileInputStream fr = new FileInputStream(fileS);x0dx0aFileOutputStream fo = new FileOutputStream(fileD);x0dx0aint length = 0;x0dx0awhile((length = fr.read(temp, 0, temp.length)) != -1){x0dx0atotalSize += length;x0dx0afo.write(temp, 0, length);x0dx0a}x0dx0aSystem.out.println("文件 "+args[0]+" 有 "+totalSize+" 个字节");x0dx0aSystem.out.println("复制完成!");x0dx0a} catch (FileNotFoundException e) {x0dx0a// TODO Auto-generated catch blockx0dx0ae.printStackTrace();x0dx0aSystem.out.println("源文件 "+args[0]+" 不存在!");x0dx0a} catch (IOException e) {x0dx0a// TODO Auto-generated catch blockx0dx0ae.printStackTrace();x0dx0a}x0dx0a}x0dx0a}
6. 怎么用java实现将一个文件的内容复制到另一个文件内容的后面
importjava.io.BufferedReader;
importjava.io.File;
importjava.io.FileReader;
importjava.io.FileWriter;
importjava.io.IOException;
publicclassFileCopy{
staticfinalStringfromeFile="c:\test1.txt";
staticfinalStringtoFile="c:\test2.txt";
publicstaticvoidmain(Stringargs[]){
try{
BufferedReaderread=newBufferedReader(newFileReader(newFile(fromeFile)));
FileWriterwrite=newFileWriter(newFile(toFile),true);
Stringtemp;
while((temp=read.readLine())!=null){
write.write(temp);
}
write.close();
read.close();
System.out.println("内容已从"+fromeFile+"复制追加到"+toFile);
}catch(IOExceptione){
e.printStackTrace();
}
}
}
7. JAVA高手请进!求一个JAVA程序:将一个文件中的内容复制到另一个文件中。
用记事本打开,复制到另一个文件中。
8. java如何实现将一个记事本文件内容复制到另一个文件
import java.io.File;x0dx0aimport java.io.FileInputStream;x0dx0aimport java.io.FileNotFoundException;x0dx0aimport java.io.FileOutputStream;x0dx0aimport java.io.IOException;x0dx0ax0dx0apublic class CopyMove {x0dx0ax0dx0a /**x0dx0a * @param argsx0dx0a */x0dx0a public static void main(String[] args) {x0dx0a // TODO Auto-generated method stubx0dx0a CopyMove cm = new CopyMove();x0dx0a cm.("h:\\1.txt", "c:\\2.txt");x0dx0a cm.move("h:\\3.txt", "h:\\r\\e\\4.txt");x0dx0a }x0dx0a //文件复制前必须得到当前文件夹名字且要有\x0dx0a //当复制深层次路径时要用mkdirs方法x0dx0a public void (String path1,String path2){x0dx0a try {x0dx0a FileInputStream fis = new FileInputStream(path1);x0dx0a int l = fis.available();x0dx0a byte[] c = new byte[l];x0dx0a fis.read(c);x0dx0a fis.close();x0dx0a int i = path2.lastIndexOf("\\")+1;x0dx0a System.out.println(i);x0dx0a String path = path2.substring(0, i);x0dx0a System.out.println(path);x0dx0a File f = new File(path);x0dx0a f.mkdirs();x0dx0a// System.out.println(f.getAbsolutePath());x0dx0a// System.out.println(f.isDirectory());x0dx0a FileOutputStream fos = new FileOutputStream(path2);x0dx0a fos.write(c);x0dx0a fos.close();x0dx0a System.out.println("文件复制成功");x0dx0a } catch (FileNotFoundException e) {x0dx0a // TODO Auto-generated catch blockx0dx0a System.out.println("文件复制失败");x0dx0a } catch (IOException e) {x0dx0a // TODO Auto-generated catch blockx0dx0a e.printStackTrace();x0dx0a }x0dx0a }x0dx0a x0dx0a public void move(String path1,String path2){x0dx0a try {x0dx0a FileInputStream fis = new FileInputStream(path1);x0dx0a int l = fis.available();x0dx0a byte[] c = new byte[l];x0dx0a fis.read(c);x0dx0a fis.close();x0dx0a int i = path2.lastIndexOf("\\");x0dx0a //System.out.println(i);x0dx0a String path = path2.substring(0, i);x0dx0a System.out.println(path);x0dx0a File f = new File(path);x0dx0a f.mkdirs();x0dx0a// System.out.println(f.getAbsolutePath());x0dx0a// System.out.println(f.isDirectory());x0dx0a FileOutputStream fos = new FileOutputStream(path2);x0dx0a fos.write(c);x0dx0a fos.close();x0dx0a System.out.println("文件移动成功");x0dx0a File f2 = new File(path1);x0dx0a f2.delete();x0dx0a } catch (FileNotFoundException e) {x0dx0a // TODO Auto-generated catch blockx0dx0a System.out.println("文件移动失败");x0dx0a } catch (IOException e) {x0dx0a // TODO Auto-generated catch blockx0dx0a e.printStackTrace();x0dx0a }x0dx0a }x0dx0ax0dx0a}
9. java如何拷贝文件到另一个目录下
下面列举出4种方式:
1、使用FileStreams复制
这是最经典的方式将一个文版件的内容复制到另一个文件中。 使用权FileInputStream读取文件A的字节,使用FileOutputStream写入到文件B。正如你所看到的我们执行几个读和写操作try的数据,所以这应该是一个低效率的,下一个方法我们将看到新的方式。 这是第一个方法的代码: