黑马程序员技术交流社区
标题:
文件复制问题
[打印本页]
作者:
于丹
时间:
2013-7-10 12:16
标题:
文件复制问题
本帖最后由 杨兴庭 于 2013-7-11 21:18 编辑
编写程序拷贝一个文件, 尽量使用效率高的方式
作者:
小石头39910
时间:
2013-7-10 13:11
//用缓冲区来复制文件
import java.io.*;
class CopyOfBuffered
{
public static void main(String[] args)
{
BufferedReader br=null;
BufferedWriter bw=null;
try
{
//创建读取缓冲区
br=new BufferedReader(new FileReader("BufferedDemo.txt"));
//创建写入缓冲区
bw=new BufferedWriter(new FileWriter("BufferedWriterDemo.txt"));
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("出错啦!");
}
}
}
}
}
复制代码
作者:
陌路行者
时间:
2013-7-10 13:35
这不是基础测试题么
作者:
majunm
时间:
2013-7-10 21:40
本帖最后由 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()搞不定的
作者:
左手神刀
时间:
2013-7-11 18:35
/*
* 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);
}
}
}
}
我的基础测试题也是这个,把代码贴出来 分享下!!!!!!!!!
所谓高效就是要用到缓冲 不让磁盘指针在磁盘上老是来回跑。
作者:
xuaner0719
时间:
2013-7-11 18:43
学习一下不错的
作者:
Star-∂ємση
时间:
2014-7-11 20:51
这个技术是神马?不知道哪方面的知识,我得翻阅资料
作者:
Star-∂ємση
时间:
2014-7-11 20:52
小石头39910 发表于 2013-7-10 13:11
这个技术是神马?不知道是Java上哪方面的东西。。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2