将文件字节输出流写入到文本中

时间:2022-05-05
本文章向大家介绍将文件字节输出流写入到文本中,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
 1 package DEMO;
 2 
 3 import java.io.File;
 4 import java.io.FileOutputStream;
 5 import java.io.IOException;
 6 import java.io.OutputStream;
 7 import java.util.Scanner;
 8 
 9 /*
10  *   文件字节输出流  2014-7-29
11  *   1.给出输出流的目的地
12  *   2.创建指向目的地的输出流
13  *   3.人输出流把数据写入到目的地
14  *   4.关闭输出流 
15  *   
16  *   举例:  使用文件输出流写文件a.txt
17  *   措施:首先使用具有刷新功能的构造方法创建指向文件a.txt的输出流,
18  *   并向a.txt文件写入“新年快乐”,然后在选择使用不刷新文件的构造方法
19  * 
20  *   指向a.txt。并向文件写入(即尾加),"happy New Year !"。
21  */
22 
23  public class  test
24  {
25      public static void main(String args [])
26      {
27         /*byte [] a="新年快乐".getBytes();*/
28         byte [] a= new byte [100];
29         Scanner reader=new Scanner(System.in);
30          int i=0;
31         while(reader.hasNext())
32             a=reader.next().getBytes();
33          byte [] b ="happy New Year".getBytes();
34          File file = new File("a.txt");
35          if(!file.exists())
36          {  
37             //如果不存在,则在指定的目录下创建一个a.txt;
38              try {
39                 file.createTempFile("Gxjun", ".java") ;
40             } catch (IOException e) {
41                 // TODO Auto-generated catch block
42                 e.printStackTrace();
43             }
44          }
45          try {
46               OutputStream out= new FileOutputStream(file);   //输出的目的地
47               System.out.println(file.getName()+"的大小:"+file.length()+"字节");
48               out.write(a);
49              out.close();
50              out= new FileOutputStream(file,true);  //不刷新,准备向文件尾加内容
51              System.out.println(file.getName()+"的大小:"+file.length());
52              out.write(b,0,b.length);
53              System.out.println(file.getName()+"的大小:"+file.length()+"字节");
54                                              //a.txt的大小:22字节
55              out.close();
56         } catch (IOException e) {
57             // TODO Auto-generated catch block
58             e.printStackTrace();
59         }    
60  }
61  }

效果: