Java中字节流和字符流复制文件
字节流和字符流复制文件的过程:
1、建立两个流对象 绑定数据源和目的地
2、遍历出需复制的文件写入复制过后的新文件中(只不过是遍历的时候是区分字节和字符的)
3、访问结束后关闭资源
字节流复制文件:
package com.aaa.demo4; import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException; public class StreamCopy {
public static void main(String[] args) {
//1、建立两个流对象 绑定数据源和目的地
FileInputStream fis=null;//绑定数据源
FileOutputStream fos=null;//绑定目的地
try {
fis=new FileInputStream("c:\\aaa.txt");//绑定需要复制的文件,也就是文件源
fos=new FileOutputStream("d:\\sfs.txt");//复制过后的位置和文件名,也就是目的地
//遍历出需复制的文件的字节,一个字节一个字节的写入复制过后的新文件中
int len=0;
while((len=fis.read())!=-1){
fos.write(len);
} } catch (Exception e) {
// TODO Auto-generated catch block
System.out.println("文件复制失败!");
}finally{
//资源访问过后关闭,先创建的后关闭,后创建的先关闭
if(fos!=null){//资源初始化为null,使用了该资源这步就是判断资源是否被调用了,如果调用就关闭,如果未调用就不需要关闭
try {
fos.close();
} catch (IOException e) {
e.printStackTrace();
}finally{
if(fis==null){
try {
fis.close();
} catch (IOException e) {
System.out.println("释放资源失败");
}
}
}
}
}
}
}
字符流复制文件:
package com.aaa.demo4; import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException; public class ReaderCopy {
public static void main(String[] args) {
//1、建立两个流对象 绑定数据源和目的地
FileReader fileReader=null;
FileWriter fileWriter=null;
try {
fileReader=new FileReader("c:\\aa.txt");
fileWriter=new FileWriter("d:\\sdf.txt");
char[] a=new char[1024];
int len=0;
//遍历出需复制的文件的字符,一个字符一个字符的写入复制过后的新文件中
while((len=fileReader.read())!=-1){
fileWriter.write(a,0,len);
fileWriter.flush();
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
//资源访问过后关闭,先创建的后关闭,后创建的先关闭
}finally{
if(fileWriter!=null){
try {
fileWriter.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
if(fileReader!=null){
try {
fileReader.close();
} catch (IOException e) {
throw new RuntimeException("关闭失败");
}
}
}
}
}
}
}
Java中字节流和字符流复制文件的更多相关文章
- java使用字节流和字符流实现文件复制
大家在Java开发中都会遇到文件复制的文件,众所周知,需要通过文件输入输出流实现. 那究竟该怎么做那,话不多说,直接上代码: 一,使用字节流复制文件 public class FileByteCopy ...
- Java基础小知识1——分别使用字节流和字符流复制文件
在日常使用计算机过程中经常会涉及文件的复制,今天我们就从Java代码的角度,看看在Java程序中文件复制的过程是如何实现的. 1.使用字节流缓冲区复制文件 示例代码如下: import java.io ...
- java中字节流与字符流的区别
字节流 在I/O类库中,java.io.InputStream和java.io.OutputStream分别表示字节输入流和字节输出流,它们都是抽象类,不能实例化,数据流中的最小单位是字节,所以叫做字 ...
- Java中字节流和字符流的比较(转)
字节流与和字符流的使用非常相似,两者除了操作代码上的不同之外,是否还有其他的不同呢? 实际上字节流在操作时本身不会用到缓冲区(内存),是文件本身直接操作的,而字符流在操作时使用了缓冲区,通过缓冲区再操 ...
- java中字节流和字符流的区别
流分类: 1.Java的字节流 InputStream是所有字节输入流的祖先,而OutputStream是所有字节输出流的祖先.2.Java的字符流 Reader是所有读取字符串输入流的祖先,而 ...
- java中字节流与字符流以及字节流多余字节问题
1.字节流 字节流byte为单位对文件的数据进行写入与读取操作.字节的方式在复制音频图片文件时比较适用,但在对于普通文件的读写上有两大缺陷: 第一,字节流在读取中文字符时,若设定的字节数组长度刚好末尾 ...
- Java IO 字节流与字符流 (五)
Java的IO流分为字符流(Reader,Writer)和字节流(InputStream,OutputStream),字节流顾名思义字节流就是将文件的内容读取到字节数组,然后再输出到另一个文件中.而字 ...
- Java IO 字节流与字符流 (三)
概述 IO流用来处理设备之间的数据传输 Java对数据的操作时通过流的方式 Java用于操作流的对象都在IO包中 流按操作的数据分为:字节流和字符流 流按流向不同分为:输入流和输出流 IO流常用基类 ...
- JAVA IO 字节流与字符流
文章出自:听云博客 题主将以三个章节的篇幅来讲解JAVA IO的内容 . 第一节JAVA IO包的框架体系和源码分析,第二节,序列化反序列化和IO的设计模块,第三节异步IO. 本文是第一节. ...
随机推荐
- 我练就数据分析技能从HR转型为产品经理
本文转自知乎 作者:空白白白白 ----------------------------------------------------- 空白白白白写在前面:当我在奥兰多的时候,一位漂亮的女学员(看 ...
- python学习笔记_week14
Web框架本质 众所周知,对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端. s1 import socket def handle_reques ...
- oracle添加列到指定位置
http://blog.csdn.net/liufeng_king/article/details/7421826
- taotao商城
(1)写Dao层(大概是sqlMapConfig.xml,application-dao.xml,mapper), 配置顺序和内容,看下图:
- linux驱动开发( 五) 字符设备驱动框架的填充file_operations结构体中的操作函数(read write llseek unlocked_ioctl)
例子就直接使用宋宝华的书上例子. /* * a simple char device driver: globalmem without mutex * * Copyright (C) 2014 Ba ...
- Tomcat 配置Https
https://www.cnblogs.com/wanghaoyuhappy/p/5267702.html JDK1.8 keytool 生存证书 C:\keys\tomcat.keystore 1: ...
- svn2
ubuntu下安装subversion客户端: sudo apt-get install subversion subversion-tools 详细请看 http://www.subversion. ...
- python 机器学习实践入门
机器学习概念概念 机器 学习是计算机科学的一个分支,从模式识别.人工智能和计算学习理论发展而来,我们可以将其作为数据挖掘的工具 侧重用于数据分析方法理解给定的数据 目的是:开发能够从先前观测的数据,通 ...
- ABAP-数据引用
*&---------------------------------------------------------------------* *& Report ZRICO_TES ...
- NSNotification相关
NSNotification处理过程是一个同步的过程.它的消息回调函数执行的线程跟发送消息代码(也就是postNotification)所在的线程相同,一个Notification发出后,在回调函数执 ...