怎样用java程序实现文件拷贝通过输入输出流解决此问题复制文件夹java代码,具体复制文件夹java代码的可以查看JDK复制文件夹java代码的API , 实在不会的话,百度一下应该都有一堆这方面的代码 。
Java代码拷贝文件夹 注:复制文件夹Java代码复制文件夹时,则需要利用Flie类在目标文件夹中创建相应的目录,并且使用递归方法,代码如下:
import java.io.*;
/**
* 复制文件夹或文件夹
*/
public class CopyDirectory {
// 源文件夹
static String url1 = "F:/photos";
// 目标文件夹
static String url2 = "D:/tempPhotos";
public static void main(String args[]) throws IOException {
// 创建目标文件夹
(new File(url2)).mkdirs();
// 获取源文件夹当前下的文件或目录
File[] file = (new File(url1)).listFiles();
for (int i = 0; ifile.length; i) {
if (file[i].isFile()) {
// 复制文件
copyFile(file[i],new File(url2 file[i].getName()));
}
if (file[i].isDirectory()) {
// 复制目录
String sourceDir=url1 File.separator file[i].getName();
String targetDir=url2 File.separator file[i].getName();
copyDirectiory(sourceDir, targetDir);
}
}
}
// 复制文件
public static void copyFile(File sourceFile,File targetFile)
throws IOException{
// 新建文件输入流并对它进行缓冲
FileInputStream input = new FileInputStream(sourceFile);
BufferedInputStream inBuff=new BufferedInputStream(input);
// 新建文件输出流并对它进行缓冲
FileOutputStream output = new FileOutputStream(targetFile);
BufferedOutputStream outBuff=new BufferedOutputStream(output);
// 缓冲数组
byte[] b = new byte[1024 * 5];
int len;
while ((len =inBuff.read(b)) != -1) {
outBuff.write(b, 0, len);
}
// 刷新此缓冲的输出流
outBuff.flush();
//关闭流
inBuff.close();
outBuff.close();
output.close();
input.close();
}
// 复制文件夹
public static void copyDirectiory(String sourceDir, String targetDir)
throws IOException {
// 新建目标目录
(new File(targetDir)).mkdirs();
// 获取源文件夹当前下的文件或目录
File[] file = (new File(sourceDir)).listFiles();
for (int i = 0; ifile.length; i) {
if (file[i].isFile()) {
// 源文件
File sourceFile=file[i];
// 目标文件
File targetFile=new File(new File(targetDir).getAbsolutePath() File.separator file[i].getName());
copyFile(sourceFile,targetFile);
}
if (file[i].isDirectory()) {
// 准备复制的源文件夹
String dir1=sourceDir"/"file[i].getName();
// 准备复制的目标文件夹
String dir2=targetDir"/"file[i].getName();
copyDirectiory(dir1, dir2);
}
}
}
}
java 复制一个指定文件夹下的指定文件 到另一个指定文件夹下下面是我学习过程中总结的几个复制文件的方法,代码如下:
/**
* 复制媒体文件,该例子是复制1.mp3文件,列出了四种方式.
*/
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class BufferedStreamCopyFiles {
public static void main(String[] args) throws IOException {
/**
* 共有四个方法,但建议用demo1,demo2;因为demo3需要创建数组, 如果文件大,光创建数组就需要很多时间;demo4一定也不要用,
* 效率非常慢.
*/
demo1();
demo2();
demo3();
demo4();
}
public static void demo1() throws FileNotFoundException, IOException {
FileInputStream fis = new FileInputStream("d:\\1.mp3");
FileOutputStream fos = new FileOutputStream("d:\\01.mp3");
int len = 0;
byte[] buf = new byte[1024];
while ((len = fis.read(buf)) != -1) {
fos.write(buf, 0, len);
}
fis.close();
fos.close();
}
public static void demo2() throws IOException {
FileInputStream fis = new FileInputStream("d:\\1.mp3");
BufferedInputStream bufis = new BufferedInputStream(fis);
FileOutputStream fos = new FileOutputStream("d:\\02.mp3");
BufferedOutputStream bufos = new BufferedOutputStream(fos);
int len = 0;
while ((len = bufis.read()) != -1) {
bufos.write(len);
}
bufis.close();
bufos.close();
}
// 不建议这种方式
public static void demo3() throws IOException {
FileInputStream fis = new FileInputStream("d:\\1.mp3");
FileOutputStream fos = new FileOutputStream("d:\\03.mp3");
byte[] buf = new byte[fis.available()];
fis.read(buf);
fos.write(buf);
fos.close();
fis.close();
}
public static void demo4() throws IOException {
FileInputStream fis = new FileInputStream("d:\\1.mp3");
FileOutputStream fos = new FileOutputStream("d:\\04.mp3");
int ch = 0;
while ((ch = fis.read()) != -1) {
fos.write(ch);
}
fos.close();
fis.close();
}
}
Java怎么实现文件拷贝工具/原料
一台配置了java环境的电脑
一款适合自己的开发集成环境,这里用的是eclipse Kepler
文件拷贝DEMO
1.首先,理清思路 , 然后我们再动手操作 。
拷贝 , 有源文件,和目的文件 。
如果原文件不存在,提示,报错 。
如果目的文件不存在 , 创建空文件并被覆盖 。
如果目的地址 , 也即目的路径不存在,创建路径 。
拷贝,输入流,输出流,关闭流 。
拷贝前输出文件大?。?计算拷贝大小 , 比较并核实 。输出 。
【复制文件夹java代码 java复制文件夹到另一个文件夹】2.首先呢,先判断传参是否完整 。
如果不够两个参数,或者多于两个参数 , 提示错误 。
如果目标文件不存在,创建 空文件继续复制 。
3.在开始前,输出被拷贝的源文件的大小 。
4.获得文件名称,即短名 。也即路径下的文件全名(包括文件扩展名) 。
5.拷贝的关键 , 这里用的简单的缓冲流 。从源文件到目的文件 。
number of bytes copied 即是对拷贝长度的累计,直到拷贝完成,输出 。
6.将步骤二中的判断并拷贝文件的代码写在一个main函数中,
执行拷贝 , 拷贝完成 。结果拷贝大小和源文件大小一致,成功 。
7.在执行前 , 记得输入参数 。
如果是使用命令提示符,执行 javac CopyFile.java 之后,
执行 java CopyFile [源文件长名] [目的文件长名]
如果是使用的eclipse,在运行前设置一下运行参数,完成后点击运行 , 如下图 。
P.S. 这里面的所谓“长名”是指完整绝对路径 文件名 文件类型扩展名
这里的源文件及目的文件的名称分别为:
E:/IP_Data.rar 和 D:/testFiles/IP_Data.rar
END
java 编写程序,拷贝一个带内容的文件夹 。例如:将c:\program files\java 文件夹拷贝到D盘的根目录下一、复制文件代码
print?import java.io.*;
import java.util.*;
class Copy
{
static void copy(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();
copy(from,to);
}
}
import java.io.*;
import java.util.*;
class Copy
{
static void copy(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();
copy(from,to);
}
}
二、复制文件夹代码
复制文件夹java代码的介绍就聊到这里吧 , 感谢你花时间阅读本站内容 , 更多关于java复制文件夹到另一个文件夹、复制文件夹java代码的信息别忘了在本站进行查找喔 。
推荐阅读
- 我要看游戏竞技的视频,我要看竞技剧
- 鸿蒙os系统细节展示,鸿蒙os到底如何
- 华为鸿蒙os3支持型号,鸿蒙30支持哪些手机
- 直播平台Hi等级列表,直播等级高有什么用
- c语言3x3矩阵if函数 c语言4×4矩阵
- 华为鸿蒙与苹果一样流畅吗,华为鸿蒙和苹果差距
- 锁定的pdf怎么修改文字,pdf锁定 不能修改
- 北京赛事微信直播,北京直播现场
- mysql怎么向表里写 mysql如何在表中写内容