① java如何拷贝一个文件夹内的多个指定的文件到另外一个指定的文件夹下
你好:
请看代码:
/**
*把一个文件夹里的所有文件包括文件夹一并原样拷贝到另一个目录中;
*@authorshuishui
*/
importjava.io.File;
importjava.io.FileInputStream;
importjava.io.FileNotFoundException;
importjava.io.FileOutputStream;
importjava.io.IOException;
importjava.io.InputStream;
importjava.io.OutputStream;
publicclassCopyDir001{
publicstaticFiledirFrom;
publicstaticFiledirTo;
//目标路径创建文件夹
publicvoidlistFileInDir(Filefile){
File[]files=file.listFiles();
for(Filef:files){
Stringtempfrom=f.getAbsolutePath();
Stringtempto=tempfrom.replace(dirFrom.getAbsolutePath(),
dirTo.getAbsolutePath());//后面的路径替换前面的路径名
if(f.isDirectory()){
FiletempFile=newFile(tempto);
tempFile.mkdirs();
listFileInDir(f);
}else{
System.out.println("源文件:"+f.getAbsolutePath());
//
intendindex=tempto.lastIndexOf("\");//找到"/"所在的位置
StringmkdirPath=tempto.substring(0,endindex);
FiletempFile=newFile(mkdirPath);
tempFile.mkdirs();//创建立文件夹
System.out.println("目标点:"+tempto);
(tempfrom,tempto);
}
}
}
/**
*封装好的文件拷贝方法
*/
publicvoid(Stringfrom,Stringto){
try{
InputStreamin=newFileInputStream(from);
OutputStreamout=newFileOutputStream(to);
byte[]buff=newbyte[1024];
intlen=0;
while((len=in.read(buff))!=-1){
out.write(buff,0,len);
}
in.close();
out.close();
}catch(FileNotFoundExceptione){
e.printStackTrace();
}catch(IOExceptione){
e.printStackTrace();
}
}
publicstaticvoidmain(String[]args){
Filefromfile=newFile("e:\shui\test");//源文件夹
Filetofile=newFile("e:\Jying\shui");//目标
CopyDir001=newCopyDir001();
//设置来源去向
.dirFrom=fromfile;
.dirTo=tofile;
.listFileInDir(fromfile);
}
}
② 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);
}
}
}
}
③ java中IO怎么将一个文件复制到另外一个文件夹
package tv.bilibili;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.FileOutputStream;
public class IoPlay {
public static void main(String[] args) throws IOException{
File f = new File("E:\\新建文本文档.txt");
File f1 = new File("D:\\");
IoPlay io = new IoPlay();
io.(f,f1);
}
public void (File f,File f1) throws IOException{ //复制文件的方法!
if(!f1.exists()){
f1.mkdir();
}
if(!f1.exists()){//路径判断,是路径还是单个的文件
File[] cf = f.listFiles();
for(File fn : cf){
if(fn.isFile()){
FileInputStream fis = new FileInputStream(fn);
FileOutputStream fos = new FileOutputStream(f1 + "\\" +fn.getName());
byte[] b = new byte[1024];
int i = fis.read(b);
while(i != -1){
fos.write(b, 0, i);
i = fis.read(b);
}
fis.close();
fos.close();
}else{
File fb = new File(f1 + "\\" + fn.getName());
fb.mkdir();
if(fn.listFiles() != null){//如果有子目录递归复制子目录!
(fn,fb);
}
}
}
}else{
FileInputStream fis = new FileInputStream(f);
FileOutputStream fos = new FileOutputStream(f1 + "\\" +f.getName());
byte[] b = new byte[1024];
int i = fis.read(b);
while(i != -1){
fos.write(b, 0, i);
i = fis.read(b);
}
fis.close();
fos.close();
}
}
}
以上是我自己写的,讲一个文件复制到例外一个地方,无论是文件,还是文件夹都可以
④ Java怎么实现文件拷贝
工具/原料
一台配置了java环境的电脑
一款适合自己的开发集成环境,这里用的是eclipse Kepler
文件拷贝DEMO
1.首先,理清思路,然后我们再动手操作。
拷贝,有源文件,和目的文件。
如果原文件不存在,提示,报错。
如果目的文件不存在,创建空文件并被覆盖。
如果目的地址,也即目的路径不存在,创建路径。
拷贝,输入流,输出流,关闭流。
拷贝前输出文件大小,计算拷贝大小,比较并核实。输出。
⑤ java如何复制拷贝一个文件到另一个文件夹如:a文件夹中的.data文件拷贝到b文件夹。
你可以个java inputStrem流和outputStream流来实现这个功能。
import java.io.*;
public class FileStreamDemo {
public static void main(String[] args) {
try {
// 来源文件
FileInputStream in = new FileInputStream("D:/b.txt");
// 目的文件
FileOutputStream out = new FileOutputStream("C:/a.txt");
byte[] bytearray = new byte[1024];
do {
in.read(bytearray, 0, 1024);
out.write(bytearray);
} while (in.available() > 0);
in.close();
out.close();
} catch ( e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
⑥ java 如何拷贝整个目录,类似x
有两种方法可以使用:
1、我们可以使用java的File类,使用递归算法遍历文件夹及其所有层的子文件夹,这种写法非常繁琐且效率不高,不推荐使用。
2、直接使用Windows的x命令
示例代码
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main( String[] args ) throws IOException
{
/*在dos窗口:x C:\源文件 D:\源文件\/S/E*/
/*字符所需的格式:x C:\\源文件 D:\\源文件\\/S/E*/
System.out.println( "请输入源文件的地址栏路径:" );
BufferedReader br = new BufferedReader( new InputStreamReader( System.in ) );
String input = br.readLine();
/*将地址中的单斜杠变为双斜杠*/
String from = input.replaceAll( "\\\\", "\\\\\\\\" );
/*获取文件名*/
String name_file = from.substring( from.lastIndexOf( "\\" ) + 1, from.length() );
/*把目标拷贝到D盘根目录*/
String to = "D:\\" + name_file + "\\/S/E";
/*拼装命令*/
String cmd = "cmd.exe /C x " + from + " " + to;
/*执行命令*/
java.lang.Runtime.getRuntime().exec( cmd );
System.out.println( "文件拷贝完毕。" );
System.out.println( "文件已经拷贝到:D:\\" + name_file );
}
}
⑦ java复制文件夹以及其中的文件
这是 我修改后的,能使用。 package configuration;import java.io.*;
/**
* @author Administrator
*
* Class Function:
*/
public class Directory {
public void startCopy(String topath,String frompath) throws IOException {
File =new File(topath); //拷贝到何处 路径
File by=new File(frompath); //从何处拷贝 路径
//创建备份目录
.mkdirs();
//开始拷贝
File[] file=by.listFiles();
try{
if(file.length!=0){
for(int i=0;i<file.length;i++){
if(file[i].isFile()){
FileInputStream input=new FileInputStream(file[i]);
FileOutputStream output=new FileOutputStream(+"\\"+file[i].getName());
byte[] b=new byte[1024*10];
int len=input.read(b);
System.out.println("=========================================是文件================================================================");
System.out.println("拷贝"+topath+"\\"+file[i].getName());
System.out.println("目标"+frompath+"\\"+file[i].getName());
while((len=input.read(b))!=-1){
output.write(b,0,len);
}
output.flush();
output.close();
input.close();
}
if(file[i].isDirectory()){
Directiory(+"\\"+file[i].getName(),by+"\\"+file[i].getName());
System.out.println("=========================================是目录================================================================");
System.out.println("拷贝"+topath+"\\"+file[i].getName());
System.out.println("目标"+frompath+"\\"+file[i].getName());
}
}
}
}catch(Exception e){
}finally{
file=null;
}
}
public void Directiory(String topath,String frompath) throws IOException{
File =new File(topath);
File by=new File(frompath);
//创建拷贝目录
.mkdirs();
//开始拷贝
File[] file=by.listFiles();
try{
if(file.length!=0){
for(int i=0;i<file.length;i++){
if(file[i].isFile()){
FileInputStream input=new FileInputStream(file[i]);
FileOutputStream output=new FileOutputStream(+"\\"+file[i].getName());
byte[] b=new byte[1024*5];
int len;
while((len=input.read(b))!=-1){
output.write(b,0,len);
}
output.flush();
output.close();
input.close();
}
if(file[i].isDirectory()){
Directiory(+"\\"+file[i].getName(),by+"\\"+file[i].getName());
}
}
}
}catch(Exception e){
}finally{
file=null;
}
}}
⑧ java复制文件夹!
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class CopyFile {
public boolean (String file1,String file2) {
File in=new File(file1);
File out=new File(file2);
if(!in.exists()){
System.out.println(in.getAbsolutePath()+"源文件路径错误!!!");
return false;
}
else {
System.out.println("源文件路径"+in.getAbsolutePath());
System.out.println("目标路径"+out.getAbsolutePath());
}
if(!out.exists())
out.mkdirs();
File[] file=in.listFiles();
FileInputStream fin=null;
FileOutputStream fout=null;
for(int i=0;i<file.length;i++){
if(file[i].isFile()){
try {
fin=new FileInputStream(file[i]);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("in.name="+file[i].getName());
try {
fout=new FileOutputStream(new File(file2+"/"+file[i].getName()));
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(file2);
int c;
byte[] b=new byte[1024*5];
try {
while((c=fin.read(b))!=-1){
fout.write(b, 0, c);
System.out.println("复制文件中!");
}
<------------------------------注意
fin.close();
fout.flush();
fout.close();
<--------------------------------
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
<-------------------------------注释掉
// return true;
}
else (file1+"/"+file[i].getName(),file2+"/"+file[i].getName());
}
return false;
}
public static void main(String[] args) {
CopyFile File = new CopyFile();
File.("E:\\study\\opngl", "E:\\opengl");
}
}
⑨ java怎样用File类拷贝文件夹
使用 java.io.File listFiles得到列表, 判断是文件夹则创建、文件则拷贝
~~~~~~~~~~~~~~~
⑩ 怎样用Java复制文件到指定目录 在线等,急!!!!
借助工具包commons-io.jar
import java.io.File;
import java.io.IOException;
import org.apache.commons.io.FileUtils;
public class Admin {
public static void main(String[] args) {
File from = new File("d:/a");
File to = new File("d:/b");
try {
FileUtils.Directory(from, to);
} catch (IOException e) {
e.printStackTrace();
}
}
}