字节流与字符流的简单应用

字符流带有缓冲区而 字节流没有缓冲区

当我们要复制音频,图片时考虑字节流(InputStream/OutputStream),文本时叫考虑字符流(Reader/Writer)

这是字节流复制图片的代码

 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
 7 public class FileCopy {
 8
 9     /**
10      * @param args
11      */
12     public static void main(String[] args) {
13         FileInputStream fis=null;
14         FileOutputStream fos=null;
15         try {
16             fis=new FileInputStream("D:/3_31.png");
17             fos=new FileOutputStream("F:/3_312.png");
18             byte [] buffer=new byte[1024];
19             int date;
20             while((date=fis.read(buffer))!=-1){
21                 //fis.read(buffer);
22                 fos.write(buffer);
23                 fos.flush();
24             }
25             /*
26              * 或是
27              * int date;
28               * while((date=fis.read())!=-1){
29               *    fos.write(date);
30               *    fos.flush();
31                           *}
32              */
33             System.out.println("复制成功");
34
35         } catch (FileNotFoundException e) {
36             e.printStackTrace();
37         } catch (IOException e) {
38             e.printStackTrace();
39         }
40         finally{
41             try {
42                 fos.close();
43                 fis.close();
44                 } catch (IOException e) {
45                     e.printStackTrace();
46                  }
47            }
48     }
49
50 }

字符流复制文档

 1 import java.io.BufferedReader;
 2 import java.io.BufferedWriter;
 3 import java.io.FileNotFoundException;
 4 import java.io.FileReader;
 5 import java.io.FileWriter;
 6 import java.io.IOException;
 7 import java.io.Reader;
 8 import java.io.Writer;
 9
10 public class FileReaderTest {
11
12     /**
13      * @param args
14      */
15     public static void main(String[] args) {
16         Reader fr=null;
17         StringBuffer sb=null;
18         BufferedReader br=null;
19         Writer fw=null;
20         BufferedWriter bw=null;
21
22         try {
23              fr=new FileReader("F:/Myhi.txt");
24              br=new BufferedReader(fr);
25              fw=new FileWriter("G:/book.txt");
26              bw=new BufferedWriter(fw);
27             String str;
28             while((str=br.readLine())!=null){
29                 //System.out.println(str);
30                 bw.write(str);
31                 bw.newLine();
32                 bw.flush();
33             }
34              System.out.println("写入成功");
35         } catch (FileNotFoundException e) {
36             // TODO Auto-generated catch block
37             e.printStackTrace();
38         } catch (IOException e) {
39             // TODO Auto-generated catch block
40             e.printStackTrace();
41         }
42         finally{
43             try {
44                 bw.close();
45                 fw.close();
46                 br.close();
47                 fr.close();
48             } catch (IOException e) {
49                 e.printStackTrace();
50             }
51         }
52     }
53 }

这只是最基本的使用的.

时间: 2024-10-24 09:54:48

字节流与字符流的简单应用的相关文章

java.io 字节流与字符流及简单实例

java io是java中非常基础的知识点,对于通信和不涉及到数据库的项目java io应该是要经常使用.java io分为字节流和字符流,分清字节流和字符流的异同是掌握java io的起点. 字节流,最小单位是字节,通信协议中的X-MODEM和Y-MODEM协议传输单位就是字节流.java io中与字节流相关的主要类有:InputStream,OutputStream,FileInputStream,FileOutputStream.与字符流有关的主要类有:Writer,Reader,File

字节流与字符流简单操作(OutputStream、InputStream、Writer、Reader)

操作流程 使用File类打开一个文件 通过字节流或者字符流的子类.指定输出的位置. 进行读/写操作 关闭输入/出 字节流与字符流 在java.io包中操作文件内容主要有两大类:字节流字符流.两大类分为输入和输出操作,在字节流中输出数据主要是OutputStream完成,输入使用InputStream,在字符流冲输出主要是使用Writer类完成,输入主要是Reader完成 字节流 字节流主要是操作byte类型数据,以byte数组为准,主要操作类是OutputStream和InputSream 字节

java 字节流与字符流的区别

字节流与和字符流的使用非常相似,两者除了操作代码上的不同之外,是否还有其他的不同呢? 实际上字节流在操作时本身不会用到缓冲区(内存),是文件本身直接操作的,而字符流在操作时使用了缓冲区,通过缓冲区再操作文件,如图12-6所示.下面以两个写文件的操作为主进行比较,但是在操作时字节流和字符流的操作完成之后都不关闭输出流. 范例:使用字节流不关闭执行 package org.lxh.demo12.byteiodemo; import java.io.File; import java.io.FileO

JAVA IO 字节流与字符流

文章出自:听云博客 题主将以三个章节的篇幅来讲解JAVA IO的内容 . 第一节JAVA IO包的框架体系和源码分析,第二节,序列化反序列化和IO的设计模块,第三节异步IO. 本文是第一节.       IO框架 从上图我们可以看出IO可以分为两大块 字节流和字符流 字节流是 InputStream 和 OutputStream 分别对应输入与输出 字符流是Reader和Writer分别对应输入与输出        ByteArrayInputStream  它字节数组输入流.继承于InputS

(转)java字节流和字符流的区别

转载: http://www.cnblogs.com/dolphin0520/category/361055.html 字节流与和字符流的使用非常相似,两者除了操作代码上的不同之外,是否还有其他的不同呢? 实际上字节流在操作时本身不会用到缓冲区(内存),是文件本身直接操作的,而字符流在操作时使用了缓冲区,通过缓冲区再操作文件. 范例:使用字节流不关闭执行 public static void main(String[] args) throws Exception { // 异常抛出, 不处理

字节流与字符流的区别&&用字节流好还是用字符流好?

字节流: (A)FileOutputStream(File name) 创建一个文件输出流,向指定的 File 对象输出数据. (B)FileOutputStream(FileDescriptor) 创建一个文件输出流,向指定的文件描述器输出数据. (C)FileOutputStream(String name) 创建一个文件输出流,向指定名称的文件输出数据. (D)FileOutputStream(String, boolean) 用指定系统的文件名,创建一个输出文件. 字符流: InputS

java 字节流和字符流的区别

转载自:http://blog.csdn.net/cynhafa/article/details/6882061 字节流与和字符流的使用非常相似,两者除了操作代码上的不同之外,是否还有其他的不同呢?实际上字节流在操作时本身不会用到缓冲区(内存),是文件本身直接操作的,而字符流在操作时使用了缓冲区,通过缓冲区再操作文件,如图12-6所示.  下面以两个写文件的操作为主进行比较,但是在操作时字节流和字符流的操作完成之后都不关闭输出流.范例:使用字节流不关闭执行 package org.lxh.dem

Java IO 字节流与字符流 (二)

概述 IO流用来处理设备之间的数据传输 Java对数据的操作时通过流的方式 Java用于操作流的对象都在IO包中 流按操作的数据分为:字节流和字符流 流按流向不同分为:输入流和输出流 IO流常用基类 字节流的抽象基类 InputStream,OuputStream 字符流的抽象基类 Reader,Writer 注: 这些基类的子类都是以基类的名称结尾的,如FileReader,FileInputStream 字节流 字节流:以字符为导向的流 简单介绍一个例子,演示字节流对图片的复制 1: imp

Java核心知识点-字节流和字符流详解

字节流与和字符流的使用非常相似,两者除了操作代码上的不同之外,是否还有其他的不同呢? 区别:实际上字节流在操作时本身不会用到缓冲区(内存),是文件本身直接操作的,而字符流在操作时使用了缓冲区,通过缓冲区再操作文件,如图12-6所示. 下面以两个写文件的操作为主进行比较,但是在操作时字节流和字符流的操作完成之后都不关闭输出流. 范例:使用字节流不关闭执行 Java代码   package org.lxh.demo12.byteiodemo; import java.io.File; import