Java复制文件:字节流、字符流、数据流
来源:互联网 发布:营销软件sudm 编辑:程序博客网 时间:2024/05/16 07:43
package stream;import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;public class TestStream { public static void main(String[] args) { method1("d:/test1.txt", "d:/test2.txt"); method2("d:/test.txt", "d:/test2.txt"); method3("d:/test.txt", "d:/test3.txt"); } //方法一:字节流读写 public static boolean method1(String srcFile, String destFile) { File sf = new File(srcFile); //判断源文件是否存在 if (!sf.exists()){ System.out.println("源文件"+sf+"不存在!"); return false; } else if (!sf.isFile()){ System.out.println("源文件"+sf+"不是一个文件!"); return false; } File df = new File(destFile); //缓存区,一次性读取1024字节 byte[] buffer = new byte[1024]; try ( FileInputStream fis = new FileInputStream(sf); FileOutputStream fos = new FileOutputStream(df); ) { while (true) { //实际读取的长度是actuallyReaded,有可能小于1024 int actuallyReaded = fis.read(buffer); // -1表示没有可读的内容了 if(-1==actuallyReaded) break; fos.write(buffer, 0, actuallyReaded); } return true; } catch (IOException e) { e.printStackTrace(); } return false; } //方法二:字符流读写 public static void method2(String srcFile, String destFile) { File sf = new File(srcFile); File df = new File(destFile); char[] ch = new char[1024]; try ( FileReader fr = new FileReader(sf); FileWriter fw = new FileWriter(df); ) { while (true) { int actuallyReaded = fr.read(ch); if (-1==actuallyReaded) break; fw.write(ch, 0, actuallyReaded); } } catch (IOException e) { e.printStackTrace(); } } //方法三:数据流 public static void method3(String srcFile, String destFile) { File sf = new File(srcFile); File df = new File(destFile); byte[] buffer = new byte[1024]; try ( FileInputStream fis = new FileInputStream(sf); DataInputStream dis = new DataInputStream(fis); FileOutputStream fos = new FileOutputStream(df); DataOutputStream dos = new DataOutputStream(fos); ) { while (true) { int actuallyReaded = dis.read(buffer); if (-1==actuallyReaded) break; dos.write(buffer, 0, actuallyReaded); } } catch (IOException e) { e.printStackTrace(); } }}
0 0
- Java复制文件:字节流、字符流、数据流
- java字符流字节流复制文件
- java字符、字节流复制
- java字节流与字符流之文件复制
- 字节流与字符流的详解,文件流,数据流
- Java字节流复制文件
- 数据流,对象流,字节流,字符流
- 字节和字符流复制
- Java IO流 文件的复制的几种方法(字节流,字符流,缓冲流)
- java学习之路----IO-------字节流和字符流的区别,文件的复制
- java IO之字节流和字符流-Reader和Writer以及实现文件复制拷贝
- Java基础小知识1——分别使用字节流和字符流复制文件
- Java I/O 字节流 文件复制
- java字节流复制一个avi文件
- Java 文件复制 基于字节流数据传输
- 【Java】使用字节流复制文件
- java字节流实现文件复制
- Java 使用字节流 一次性复制文件
- ACM日记_17.3.14——输入均为独立字母与数字时的处理
- Centos 启动盘制作与安装
- mac,finder ,dock
- javascript Math.random的使用
- V4L2采集图像基本流程
- Java复制文件:字节流、字符流、数据流
- memcached安装步骤
- 梯度下降(Gradient Descent)小结
- Git学习——重要配置
- 广东省软考报文入口及相关信息
- java.util.concurrent 包源码分析之线程同步辅助
- eclipse安装tomcat 一
- 数据库错题集锦(1)
- arcgis-for-android 学习指南