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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

于丹

初级黑马

  • 黑马币:0

  • 帖子:13

  • 精华:0

© 于丹 初级黑马   /  2013-7-10 12:16  /  2308 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 杨兴庭 于 2013-7-11 21:18 编辑

编写程序拷贝一个文件, 尽量使用效率高的方式

评分

参与人数 1黑马币 +1 收起 理由
杜光 + 1 很给力!

查看全部评分

7 个回复

倒序浏览
  1. //用缓冲区来复制文件
  2. import java.io.*;
  3. class CopyOfBuffered
  4. {
  5.         public static void main(String[] args)
  6.         {
  7.                 BufferedReader br=null;
  8.                 BufferedWriter bw=null;
  9.                 try
  10.                 {
  11.                 //创建读取缓冲区
  12.              br=new BufferedReader(new FileReader("BufferedDemo.txt"));
  13.                 //创建写入缓冲区
  14.          bw=new BufferedWriter(new FileWriter("BufferedWriterDemo.txt"));
  15.                  String line=null;
  16.                  while((line=br.readLine())!=null)
  17.                         {
  18.               bw.write(line);
  19.                           bw.newLine();
  20.               bw.flush();
  21.                          // System.out.println(line);
  22.                         }
  23.                 }
  24.                 catch (IOException e)
  25.                 {
  26.                 System.out.println("出错啦!");
  27.                 }
  28.                 finally
  29.                 {
  30.            if(bw!=null)
  31.                         {
  32.                          try
  33.                          {
  34.                                 bw.close();
  35.                          }
  36.                          catch (IOException e)
  37.                       {
  38.                         System.out.println("出错啦!");
  39.                       }


  40.                         }
  41.             if(br!=null)
  42.                         {
  43.                          try
  44.                          {
  45.                                 br.close();
  46.                          }
  47.                          catch (IOException e)
  48.                       {
  49.                         System.out.println("出错啦!");
  50.                       }


  51.                         }
  52.                 }
  53.   }
  54. }
复制代码

评分

参与人数 2技术分 +1 黑马币 +2 收起 理由
杨兴庭 + 1 赞一个!
于丹 + 2 很给力!

查看全部评分

回复 使用道具 举报 1 0
这不是基础测试题么
回复 使用道具 举报
本帖最后由 majunm 于 2013-7-10 21:42 编辑

//用缓冲区来复制文件

import java.io.*;

class CopyOfBuffered

{

        public static void main(String[] args)

        {

                //BufferedReader br=null:
//改成这个
BufferedInputStream bfin=null
               // BufferedWriter bw=null;
BufferedOutputStream bfos=null;
                try

                {

                //创建读取缓冲区

             bfin=new BufferedInputStream(new FileInputStream("BufferedDemo.txt"));

                //创建写入缓冲区

        //改 outputstream bw=new BufferedWriter(new FileWriter("BufferedWriterDemo.txt"));
bfos=new BufferedOutputStream(new FileOutputStream("目的地....."));
                 String line=null;

                 while((line=br.readLine())!=null)

                        {

              bw.write(line);//自己改  

                          bw.newLine();

              bw.flush();

                         // System.out.println(line);

                        }

                }

                catch (IOException e)

                {

                System.out.println("出错啦!");

                }

                finally

                {

           if(bw!=null)

                        {

                         try

                         {

                                bw.close();

                         }

                         catch (IOException e)

                      {

                        System.out.println("出错啦!");

                      }





                        }

            if(br!=null)

                        {

                         try

                         {

                                br.close();

                         }

                         catch (IOException e)

                      {

                        System.out.println("出错啦!");

                      }





                        }

                }

  }

}

给上面的类变量改下  我懒得改了  字节流比字符流 通用  题目要求copy一个文件 万一是MP3 格式 BufferedReader()搞不定的

评分

参与人数 1技术分 +1 收起 理由
杨兴庭 + 1

查看全部评分

回复 使用道具 举报
/*
* 5、 编写程序拷贝一个文件, 尽量使用效率高的方式.
*
* */
package  com.itheima;
import java.io.*;
class Test5
{
public static void main(String [] args)
{
  
  copyFile("被复制的测试文件.java","刚复制的文件.txt");
}
public static void copyFile(String filename,String copyfilename)
{                          //finlename 代表要复制的文件名。copy filename代表复制后的文件名。
  FileWriter  fw=null;
  FileReader  fr=null;
  
  try
  {
   fw=new FileWriter(copyfilename);//根据传递进来的参数创建对应的流对象。
   fr=new FileReader(filename);////根据传递进来的参数创建对应的流对象。
   
   char[] buf=new char[1024];//定义两个流的中间数据容器长度为1024
   int len=0;
   while((len=fr.read(buf))!=-1)//写入流每次从原文件读取1024个字节
   {
    fw.write(buf,0,len);//写出流每次将写入流读取到的数据写出到“刚复制的文件.txt”文件中
   }
   System.out.println("复制成功");
  }
  catch( IOException e)
  {
   throw new RuntimeException("数据写入失败");
  }
  finally
  {
   if(fr!=null)
    try
    {
     fr.close();
    }
    catch(IOException e)
    {   
     System.out.println("读取文件流关闭失败!"+e);
    }
   if(fw!=null)
    try
    {
     fw.close();
    }
    catch(IOException e)
    {
     System.out.println("写入文件流关闭失败!"+e);
    }
  }  
}

}
我的基础测试题也是这个,把代码贴出来 分享下!!!!!!!!!
所谓高效就是要用到缓冲 不让磁盘指针在磁盘上老是来回跑。  

评分

参与人数 1技术分 +1 收起 理由
杨兴庭 + 1

查看全部评分

回复 使用道具 举报
学习一下不错的
回复 使用道具 举报
这个技术是神马?不知道哪方面的知识,我得翻阅资料
回复 使用道具 举报

这个技术是神马?不知道是Java上哪方面的东西。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马