io--文件内容的复制

 1 public class CopyTextTest_2 {
 2
 3  private static final int BUFFER_SIZE = 1024;
 4  public static void main(String[] args) {
 5
 6   FileReader fr = null;
 7   FileWriter fw = null;
 8   try {
 9    //创建字节输入流,选择要读取数据的文件
10    fr = new FileReader("IO流_2.txt");
11    //创建字节输出流,选择要写入数据的文件
12    fw = new FileWriter("copytest_2.txt");
13    
14    //创建一个临时容器,用于缓存读取到的字符。
15    char[] buf = new char[BUFFER_SIZE];//这就是缓冲区。
16    
17    //定义一个变量记录读取到的字符数,(其实就是往数组里装的字符个数 )
18    int len = 0;
19    //循环从输入流中取出的数据
20    while((len=fr.read(buf))!=-1){
21   //每读取一次,即写入文件输入流,读多少写多少
22     fw.write(buf, 0, len);
23    }
24    
25   } catch (Exception e) {
26 //   System.out.println("读写失败");
27    throw new RuntimeException("读写失败");
28   }finally{
29    if(fw!=null)
30     try {
31      fw.close();
32     } catch (IOException e) {
33      
34      e.printStackTrace();
35     }
36    if(fr!=null)
37     try {
38      fr.close();
39     } catch (IOException e) {
40      
41      e.printStackTrace();
42     }
43   }
44  }
45
46 }

使用缓冲流:

 1 public static void main(String[] args) {
 2         FileReader fr=null;
 3         FileWriter fw=null;
 4         BufferedReader br=null;
 5         BufferedWriter bw=null;
 6         try {
 7             fr=new FileReader("e://test.txt");
 8             fw=new FileWriter("e://newFile.txt");
 9             br=new BufferedReader(fr);
10             bw=new BufferedWriter(fw);
11
12             String line=null;
13             while ((line=br.readLine())!=null) {
14                 bw.write(line);
15             }
16         } catch (IOException e) {
17
18             e.printStackTrace();
19         }finally{
20             try {
21                 //要关闭缓冲流,这样数据才会被刷新然后写入到新的文件中
22                 bw.close();
23                 br.close();
24             } catch (IOException e) {
25
26                 e.printStackTrace();
27             }
28         }
29
30     }
31                                                                                         
时间: 2024-11-14 21:53:12

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

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

文件内容复制的常规方法: 开辟一段空间,不断读取文件的内容并写入另一文件当中,这种方法好在安全,一般在类型允许的最大范围内是安全的,缺点就是复制内容的时间长 一次性复制文件的内容,这种方法必须首先获取当前被复制的文件内容的大小,然后一次性开辟与文件内容大小相同的内存空间,通常为了安全,都必须让大小加1. 读取文件内容的步骤 打开被复制文件(open/fopen) 读取文件内容(read/fread)--->当使用系统IO(open这一类)的时候可以直接读取内容,但当使用标准IO(fopen这一类

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

package com.hp.io; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; public class InputAndOutputFile{ //都是纯手打  如果复制显示不能复制 也懒得改  手敲 格式不好看见谅 public static void main(String

Java文件内容的复制

package a.ab; import java.io.*; public class FileReadWrite { public static void main(String[] args) { FileReader fr=null; FileWriter fw=null; try{ //将f1文件的内容复制到f2文件中 File f1=new File("D:\\DD\\d.txt"); File f2=new File("D:\\DD\\C.txt");

(IO流)java中多种方式读文件,追加文件内容,对文件的各种操作

import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.RandomAccessFile; import java.io.R

【windows核心编程】IO完成端口(IOCP)复制文件小例

1.演示内容 文件复制 2.提要 复制大文件时,使用FILE_FLAG_NO_BUFFERING标志 同时需要注意: 读写文件的偏移地址为 磁盘扇区 的整数倍 读写文件的字节数为 磁盘扇区 的整数倍 读文件到的缓冲区在进程地址空间中的地址为 磁盘扇区 的整数倍 3.JUST CODING #include "stdafx.h" #include <Windows.h> #include <process.h> #include <iostream>

IO文件复制粘贴

项目 package com.I_O; import java.io.*; /** * 文件文件 */ public class Copy_I_O { /** * 复制粘贴方法 */ public void copy(){ InputStream is=null; OutputStream os=null; try { is=new FileInputStream("复制.txt"); os=new FileOutputStream("粘贴.txt"); byte[

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

JAVAIO如果按流向分:输入流和输出流两种 输入流的基类:InputStream   Reader 输出流的基类:OutputStream   Writer 如果按数据单元划分:字节流和字符流 字节流输入输出的基类:InputStream  OutputStream 字符流输入输出的基类:Reader   Writer 字节流复制文件内容 public static void main(String[] args) { //字节流复制文件内容 InputStream io=null; Outp

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

1. 复制多级文件夹的案例 需求:复制多级文件夹   数据源:E:\JavaSE\day21\code\demos 目的地:E:\   分析:         A:封装数据源File         B:封装目的地File         C:判断该File是文件还是文件夹        a:是文件夹 就在目的地目录下创建该文件夹 获取该File对象下的所有文件或者文件夹File对象 遍历得到每一个File对象 回到C                     b:是文件             

使用IO流对文件夹的复制(文件夹中带有子目录)

当我们要复制带有子目录的文件夹的时候,就必须使用递归,这样才能把全部的文件夹都复制到位 思路和步骤: 对于文件夹的复制,分2种情况               (1)当我们对文件进行遍历的时候,如果目标文件夹下的文件是个标准文件的话,我们就可以直接去做复制的动作,               (2)当目标文件中,是带有文件夹的文件,那么这个时候就需要对文件夹进行递归,直到最后它是个标准文件后,我们在做复制动作 有了上述的2种情况后,那么这个需求,需要提供2种方法,1是对标准文件的复制,2是对带有

【windows核心编程】IO完成端口(IOCP)复制文件小例前简单说明

1.关于IOCP IOCP即IO完成端口,是一种高伸缩高效率的异步IO方式,一个设备或文件与一个IO完成端口相关联,当文件或设备的异步IO操作完成的时候,去IO完成端口的[完成队列]取一项,根据完成键(Complete Key)来判断是哪个设备或文件的操作完成,然后再根据实际情况进行处理. 2.相关API 和 数据结构   将一个已完成的IO通知追加到IOCP的[完成队列]中 BOOL   PostQueuedCompletionStatus( HANDLE    hCompletionPort