A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王震阳老师   /  2014-4-30 10:34  /  46966 人查看  /  602 人回复  /   4 人收藏 转载请遵从CC协议 禁止商业使用本文

我来额 看看
回复 使用道具 举报
这个帖子我顶过了吗?
回复 使用道具 举报
GGdog 发表于 2014-4-30 10:49
正在学习基础,不知道能不能搞定,先看题目,嘿嘿

学习过了基础视频,肯定是可以做出来的
回复 使用道具 举报
来看看来看看来看看来看看
回复 使用道具 举报
tacyjay在路上 发表于 2014-4-30 11:07
从来不放弃领技术分的机会。。哈哈哈

五一有的是领的,看你能获取多少咯
回复 使用道具 举报

你技术分已经这么高了呀,这道题对你来说应该不是问题
回复 使用道具 举报

欢迎~
回复 使用道具 举报
黑马程序员
回复 使用道具 举报
Asura 中级黑马 2014-4-30 14:12:39
49#
看看……
回复 使用道具 举报
http://blog.csdn.net/u012840558/article/details/22586555
/*
* 需求:(把D盘文件复制到C盘)
*/
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
/*
思路
1、通过盘符或者盘符下的所以文件和目录。
2、对盘符下的文件进行遍历,遍历的过程中定义盘条件。
3、如果是文件,直接复制,如果是目录,那就对目录进行迭代。
4、如果目录中的文件还是目录,那就对目录进行递归操作。
5、关闭所有流资源。
*/
public class Test{
public static void main(String[] args)throws IOException{
copyRoot(new File("D:\\"),new File("C:\\"));
}
/*
复制文件方法
*/
public static void copyFile(File dest,File src)throws IOException{
InputStream ips = new FileInputStream(src);
OutputStream ops = new FileOutputStream(dest);
byte[] buf =new byte[1024];
int len = 0;
while((len = ips.read(buf))!=-1){
ops.write(buf, 0, len);
}
ips.close();
ops.close();
}
/*
复制目录下的文件。
*/
public static void copyDir(File dest,File src)throws IOException{
dest.mkdirs();
File []dirAndFile = src.listFiles();
for(File dirOrFile : dirAndFile){
if(dirOrFile.isFile()){
copyFile(new File(dest.getAbsolutePath()+"\\"+dirOrFile.getName()),
new File(dirOrFile.getAbsolutePath()));
}
else if(dirOrFile.isDirectory()){
copyDir(new File(dest.getAbsolutePath()+"\\"+dirOrFile.getName()),
new File(dirOrFile.getAbsolutePath()));
}
}
}
/*
复制整个盘符
*/
public static void copyRoot(File dest,File src)throws IOException{
File[] dirAndFile = src.listFiles();
if(src.exists()){
for(File dirOrFile : dirAndFile){
if(!dirOrFile.isHidden()){
if(dirOrFile.isFile()){
File destFile =
new File(dest.getAbsolutePath()+"\\"+dirOrFile.getName());
File srcFile =
new File(src.getAbsolutePath()+"\\"+dirOrFile.getName());
copyFile(destFile,srcFile);
}
else if(dirOrFile.isDirectory()){
File destDir =
new File(dest.getAbsolutePath()+"\\"+dirOrFile.getName());
File srcDir =
new File(src.getAbsolutePath()+"\\"+dirOrFile.getName());
copyDir(destDir,srcDir);
}
}
}
}
}
}
拿分了

评分

参与人数 1技术分 +4 收起 理由
王震阳老师 + 4 赞一个!

查看全部评分

回复 使用道具 举报

欢迎~
回复 使用道具 举报
如果要复制其中的一个文件夹,就调用复制文件夹方法。如果需要复制盘符,就直接调用复制盘符方法。
回复 使用道具 举报

继续看看,哈哈哈
回复 使用道具 举报
哥们,我又来了
回复 使用道具 举报
看看什么内容
回复 使用道具 举报
再顶!!!:victory:
回复 使用道具 举报
看看什么题,能办了不:lol
回复 使用道具 举报
  1. [hide]
  2. import java.io.File;
  3. import java.io.FileInputStream;
  4. import java.io.FileNotFoundException;
  5. import java.io.FileOutputStream;
  6. import java.io.IOException;

  7. public class KaoQian07 {

  8.         /**
  9.          * 将C盘指定的一个文件夹(包含文件夹内的所有文件夹和所有文件,多层嵌套)复制到D盘中。
  10.          */
  11.         public static void main(String[] args) {
  12.                 File sourcef=new File("C:/新建文件夹");
  13.                 copy(sourcef);
  14.         }
  15.        
  16.         public static void copy(File fs){
  17.                 //获取文件列表
  18.                 File[] flist=fs.listFiles();
  19.                 for (File file : flist) {
  20.                         //判断是否是目录,如果是目录就递归调用
  21.                         if(file.isDirectory()){
  22.                                 copy(file);
  23.                         }else{
  24.                                 FileInputStream fin=null;
  25.                                 FileOutputStream fout=null;
  26.                                 try {
  27.                                         //用文件输入流和输出流拷贝文件
  28.                                         fin=new FileInputStream(file);
  29.                                         //如果目标地址没有目录的话 需要新创建一个
  30.                                         String path=file.getParent();
  31.                                         path="d"+path.subSequence(1, path.length());
  32.                                         if(!new File(path).exists()){
  33.                                                 new File(path).mkdirs();
  34.                                         }
  35.                                         fout=new FileOutputStream(new File(path+"/"+file.getName()));
  36.                                         //读写操作
  37.                                         byte[] b=new byte[1024];
  38.                                         int len=0;
  39.                                         while((len=fin.read(b))>0){
  40.                                                 fout.write(b, 0, len);
  41.                                                 fout.flush();
  42.                                         }
  43.                                 } catch (Exception e) {
  44.                                         e.printStackTrace();
  45.                                 }finally{
  46.                                         try {
  47.                                                 if (fin!=null)
  48.                                                         fin.close();
  49.                                         } catch (IOException e) {
  50.                                                 e.printStackTrace();
  51.                                         }
  52.                                         try {
  53.                                                 if (fout!=null)
  54.                                                         fout.close();
  55.                                         } catch (IOException e) {
  56.                                                 e.printStackTrace();
  57.                                         }                       
  58.                                 }
  59.                         }
  60.                 }
  61.         }
  62. }



  63. [/hide]
复制代码


评分

参与人数 1技术分 +1 收起 理由
王震阳老师 + 1 淡定

查看全部评分

回复 使用道具 举报
zfan 中级黑马 2014-4-30 14:41:13
59#
看看题目
回复 使用道具 举报
看看  心动了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马