黑马程序员技术交流社区

标题: io流中文件复制问题。 [打印本页]

作者: kj1989    时间: 2014-3-5 22:43
标题: io流中文件复制问题。
本帖最后由 kj1989 于 2014-3-10 21:02 编辑

在io流的学习中,遇到了文件的复制问题,本人有点晕 被写和读操作给绕晕了。想知道这两者之间是怎么联系在一起从而完成了整个文件的复制过程?

作者: q527198615    时间: 2014-3-5 22:59
先用InputStream对取一个文件,读了就用OutPutStream写进去,晕了的话,你可以先分开做。再整合在一起。

  1. import java.io.File;
  2. import java.io.FileInputStream;
  3. import java.io.FileNotFoundException;
  4. import java.io.FileOutputStream;
  5. import java.io.IOException;


  6. public class FileCopy {

  7.         public static void main(String[] args) throws IOException {
  8.                 File srcFile = new File("C:/Users/Administrator/Desktop/srcfile.txt");
  9.                 File destFile = new File("C:/Users/Administrator/Desktop/destfile.txt");
  10.                
  11.                 FileInputStream fis = new FileInputStream(srcFile);
  12.                 FileOutputStream fos = new FileOutputStream(destFile);
  13.                 byte[] buffer = new byte[1024];
  14.                 int len;
  15.                 while((len=fis.read(buffer))!=-1){
  16.                         fos.write(buffer, 0, len); //这里就是连接处
  17.                 }
  18.                
  19.         }

  20. }
复制代码




作者: 艮昕辶    时间: 2014-3-6 19:21
本帖最后由 艮昕辶 于 2014-3-6 19:29 编辑

:L怎么那个代码用不了  而且论坛怎么这么卡啊
作者: 艮昕辶    时间: 2014-3-6 19:28
//核心函数是bufr.readLine()和bufw.write()
//一个读一个写就完成了文件的语句复制
import java.io.*;
class  BufferedReaderDemo
{
        public static void main(String[] args)throws IOException
        {
                BufferedReader bufr=null;
                BufferedWriter bufw=null;
                        try
                        {
                                bufr=new BufferedReader(new FileReader
                                        ("BufferedWriterDemo.java"));
                                bufw=new BufferedWriter(new FileWriter
                                        ("bufWriter_Copy.txt"));
                                String line=null;
                                while((line=bufr.readLine())!=null)
                                {
                                        bufw.write(line);

                                        bufw.flush();
                                }
                        }
                        catch (IOException e)
                        {
                                throw new RuntimeException("读取关闭失bai");
                        }
                        finally
                        {
                                try
                                {
                                        if(bufw!=null)
                                                bufw.close();
                                        if(bufr!=null)
                                                bufr.close();
                                }
                                catch (IOException e)
                                {
                                        throw new RuntimeException("读取关闭失败");
                                }
                        }
        }
}

作者: 不冬眠的蚂蚁    时间: 2014-3-7 15:30
字符流
     读取流
          FileReader   fr=new FileReader("要读取的文件");//fr.read();读取这个文件
     写入流
          FileWriter    fw=new FileWrider("要复制到哪里");//fw.write();把读到的内容写到目标文件
字节流
    读取流
       FileInputStream fi,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,fi.read();读取这个文件
    写入流
      FileOutputStream  fo,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,fo.write();把读到的内容写到目标文件

什么什么流 我自己起的 方便记忆识别 (可能不专业) 你可以参考参考




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