public class CopyTextTest_2 {

  private static final int BUFFER_SIZE = 1024;
 public static void main(String[] args) {   FileReader fr = null;
  FileWriter fw = null;
  try {
   //创建字节输入流,选择要读取数据的文件
   fr = new FileReader("IO流_2.txt");
   //创建字节输出流,选择要写入数据的文件
   fw = new FileWriter("copytest_2.txt");
   
   //创建一个临时容器,用于缓存读取到的字符。
   char[] buf = new char[BUFFER_SIZE];//这就是缓冲区。
   
   //定义一个变量记录读取到的字符数,(其实就是往数组里装的字符个数 )
   int len = 0;
   //循环从输入流中取出的数据
   while((len=fr.read(buf))!=-1){
  //每读取一次,即写入文件输入流,读多少写多少
    fw.write(buf, 0, len);
   }
   
  } catch (Exception e) {
//   System.out.println("读写失败");
   throw new RuntimeException("读写失败");
  }finally{
   if(fw!=null)
    try {
     fw.close();
    } catch (IOException e) {
     
     e.printStackTrace();
    }
   if(fr!=null)
    try {
     fr.close();
    } catch (IOException e) {
     
     e.printStackTrace();
    }
  }
 } }

使用缓冲流:

 public static void main(String[] args) {
FileReader fr=null;
FileWriter fw=null;
BufferedReader br=null;
BufferedWriter bw=null;
try {
fr=new FileReader("e://test.txt");
fw=new FileWriter("e://newFile.txt");
br=new BufferedReader(fr);
bw=new BufferedWriter(fw); String line=null;
while ((line=br.readLine())!=null) {
bw.write(line);
}
} catch (IOException e) { e.printStackTrace();
}finally{
try {
//要关闭缓冲流,这样数据才会被刷新然后写入到新的文件中
bw.close();
br.close();
} catch (IOException e) { e.printStackTrace();
}
} }

io--文件内容的复制的更多相关文章

  1. Linux中进行单文件内容的复制

    文件内容复制的常规方法: 开辟一段空间,不断读取文件的内容并写入另一文件当中,这种方法好在安全,一般在类型允许的最大范围内是安全的,缺点就是复制内容的时间长 一次性复制文件的内容,这种方法必须首先获取 ...

  2. java Io文件输入输出流 复制文件

    package com.hp.io; import java.io.FileInputStream; import java.io.FileNotFoundException; import java ...

  3. Java文件内容的复制

    package a.ab; import java.io.*; public class FileReadWrite { public static void main(String[] args) ...

  4. linux 文件内容的复制

    #include <string.h> #include <strings.h> #include <stdio.h> #include <stdlib.h& ...

  5. 以流方式读写文件:文件菜单打开一个文件,文件内容显示在RichTexBox中,执行复制、剪切、粘贴后,通过文件菜单可以保存修改后的文件。

    MainWindow.xaml文件 <Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation&q ...

  6. java代码---I/O文件内容复制

    总结:主要是弄清输入流,输出流 输入流和输出流都是针对程序而言,把文件内容读取到程序是输入流 从程序把内容写入文件是输出流 package com.a.b; import java.io.*; imp ...

  7. IO流,字节流复制文件,字符流+缓冲复制文件

    JAVAIO如果按流向分:输入流和输出流两种 输入流的基类:InputStream   Reader 输出流的基类:OutputStream   Writer 如果按数据单元划分:字节流和字符流 字节 ...

  8. File类的特点?如何创建File类对象?Java中如何操作文件内容,什么是Io流Io流如何读取和写入文件?字节缓冲流使用原则?

    重难点提示 学习目标 1.能够了解File类的特点(存在的意义,构造方法,常见方法) 2.能够了解什么是IO流以及分类(IO流的概述以及分类) 3.能够掌握字节输出流的使用(继承体系结构介绍以及常见的 ...

  9. Java基础知识强化之IO流笔记50:IO流练习之 复制多级文件夹的案例

    1. 复制多级文件夹的案例 需求:复制多级文件夹       数据源:E:\JavaSE\day21\code\demos     目的地:E:\   分析:         A:封装数据源File ...

  10. Java基础知识强化之IO流笔记49:IO流练习之 复制指定目录下指定后缀名的文件并修改名称的案例

    1. 复制指定目录下指定后缀名的文件并修改名称的案例     需求:复制指定目录下的指定文件,并修改后缀名.  • 指定的文件是:.java文件.     • 指定的后缀名是:.jad     • 指 ...

随机推荐

  1. C语言中static修饰符的意义

    在C语言中,static通常有2种含义:1)定义变量的生命周期:2)定义变量或者函数的作用域. 变量的生命周期是指,相对于程序运行的进程生命周期,变量存在的时间段.变量的生命周期由变量的存储类型(位置 ...

  2. static_cast, dynamic_cast, reinterpret_cast, const_cast区别比较

    隐式转换(implicit conversion) ; int b; b=a; short是两字节,int是四字节,由short型转成int型是宽化转换(bit位数增多),编译器没有warning,如 ...

  3. STREAMING #5 题解 3.高位网络

    高维网络 [题目描述] 现在有一个 d 维的坐标网格,其中第 i 维坐标的范围是[0,a_i].在这个范围内建立一个有向图:我们把范围内的每个整点(每一维坐标均为整数的点)当做图上的顶点.设点 A(0 ...

  4. 使用python进行汉语分词-乾颐堂

    目前我常常使用的分词有结巴分词.NLPIR分词等等 最近是在使用结巴分词,稍微做一下推荐,还是蛮好用的. 一.结巴分词简介 利用结巴分词进行中文分词,基本实现原理有三: 基于Trie树结构实现高效的词 ...

  5. cakephp绑定事件

    <input type='button' id="submitBtn" class="col button button-fill " value='确认 ...

  6. [Groovy]获取当前活动的Environment,获取response中节点的name和节点的value

    import com.eviware.soapui.support.GroovyUtils import com.eviware.soapui.support.XmlHolder import org ...

  7. hadoop错误:Does not contain a valid host:port authority

    hadoop环境部署完,执行hdfs zkfc -formatZK命令时,提示如上图所示错误 错误内容: [root@study_1_1 hadoop]# hdfs zkfc -formatZK Ex ...

  8. getparameter()和getattribution()的区别的 java详细

    两个Web组件之间为转发关系时,转发源会将要共享 request范围内的数据先用setAttribute将数据放入到HttpServletRequest对象中,然后转发目标通过 getAttribut ...

  9. STL之erase用法

    vector::erase():从指定容器删除指定位置的元素或某段范围内的元素 vector::erase()方法有两种重载形式 如下: 1.iterator erase(iterator _Wher ...

  10. 设置express ejs模板的后缀名html

    如果使用jade或者ejs模板引擎的话 模板文件的格式为ejs或者jade ,有时候需要将后缀名修改为 html格式的. app.set('view engine','ejs'); app.engin ...