黑马程序员技术交流社区

标题: 今天的面试题:求解答!!! [打印本页]

作者: 一世英明    时间: 2014-4-7 23:24
标题: 今天的面试题:求解答!!!
问:  C盘文件夹下的某个文件,复制到  D盘下的文件夹下的文件!  使用流 实现!!  求论坛高手解答!!
作者: haixian    时间: 2014-4-7 23:31
...filereader读入,filewriter写出。他们问的都是些概念性的问题。
作者: 向阳泪无痕    时间: 2014-4-8 08:30
首先通过 IO 流来完成的
1,指向源文件
BufferedReader bufr  = new BufferedReader(new FileReader("文件路径及名"));
2,目标文件
BufferedWriter bufw = new BufferedWriter(new FileWriter("目标文件路径"));
3,读取源文件
while((len=bufr.readLine())!=null)
{
    4,写入到指定位置
    bufw.writer(len);
}


OK 完事了
作者: lwy0319    时间: 2014-4-8 10:07
参见毕老师系列第18天
作者: jzxyhjl    时间: 2014-4-8 10:24
package demo;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.util.Scanner;

public class Copy {
        public static void main(String args[]){
                /*输入源文件路径*/
                System.out.println("请输入源文件路径(如c:\1.txt)");
                Scanner s = new Scanner(System.in);
                String src = s.nextLine();
                System.out.println("源文件路径确认"+src);
               
                /*输入目标路径*/
                System.out.println("请输入目标路径");
               
                String dest = s.nextLine();
                System.out.println("目标路径确认"+dest);
                s.close();
                /*拷贝*/
                try{
                        copy(src,dest);
                        /*显示是否成功*/
                        System.out.println("拷贝完成");
                }catch(Exception e){
                        System.out.println("拷贝过程出错");
                        System.out.println(e.getMessage());
                }
               
        }
       
        private static void copy(String src,String dest) throws Exception{
                InputStream is = readFile(src);
                writeToFile(is,dest);
        }
       
        private static InputStream readFile(String src) throws Exception{
                if(!existFile(src)){
                        throw new Exception("源文件不存在");
                }
                FileInputStream fis = new FileInputStream(src);
                return fis;
        }
       
        private static boolean existFile(String src) throws Exception{
                File f = new File(src);
                if(f.exists()){
                        return true;
                }else{
                        return false;
                }
        }
       
        private static void writeToFile(InputStream is,String dest) throws Exception{
                if(!existFile(dest)){
                        File f = new File(dest);
                        f.createNewFile();
                }
                FileOutputStream fos = new FileOutputStream(dest);
                inToOut(is,fos);
        }
       
        private static void inToOut(InputStream is,FileOutputStream fos) throws Exception{
                try{
                        int len = 0;
                        byte buffer[] = new byte[1024];
                        while((len=is.read(buffer))>0){
                                fos.write(buffer,0,len);
                        }
                }catch(Exception e){
                        System.out.println("拷贝失败");
                        System.out.println(e.getMessage());
                }finally{
                        if(is!=null){
                                is.close();
                        }
                        if(fos!=null){
                                fos.close();
                        }
                }
               
        }
}

不知道这个符不符合要求




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2