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

Posted 晓远

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了字节流与字符流的简单应用相关的知识,希望对你有一定的参考价值。

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

当我们要复制音频,图片时考虑字节流(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 }

这只是最基本的使用的.

以上是关于字节流与字符流的简单应用的主要内容,如果未能解决你的问题,请参考以下文章

java 字节流与字符流的区别

java 字节流与字符流的区别

Java字节流与字符流的区别

字节流与字符流的区别

字节流与字符流的区别详解

java 字节流和字符流的区别