gpt4 book ai didi

详解Java编程中面向字符的输出流

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 25 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章详解Java编程中面向字符的输出流由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

面向字符的输出流都是类 Writer 的子类,其类层次结构如图所示。 下表列出了 Writer 的主要子类及说明.

详解Java编程中面向字符的输出流

使用 FileWriter 类写入文件 。

FileWriter 类是 Writer 子类 OutputStreamWriter 类的子类,因此 FileWriter 类既可以使用 Writer类的方法也可以使用 OutputStreamWriter 类的方法来创建对象.

在使用 FileWriter 类写入文件时,必须先调用 FileWriter()构造方法创建 FileWriter 类的对象,再调用 writer()方法。FileWriter 构造方法的格式为:

?
1
2
public FileWriter(String name); //根据文件名创建一个可写入的输出流对象
public FileWriter(String name,Boolean a); //a 为真,数据将追加在文件后面

【例】利用 FileWriter 类将 ASCⅡ字符写入到文件中 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
import java.io.*;
class ep10_3{
   public static void main(String args[]){
     try {
       FileWriter a= new FileWriter( "ep10_3.txt" );
       for ( int i= 32 ;i< 126 ;i++){
         a.write(i);
       }
       a.close();
     }
     catch (IOException e){}
   }
}

运行后程序后,打开 ep10_3.txt 文件,显示内容为:

?
1
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}

使用 BufferedWriter 类写入文件 。

BufferedWriter 类是用来将数据写入到缓冲区。使用时必须创建 FileWriter 类对象,再以该对象为参数创建 BufferedWriter 类的对象,最后需要用 flush()方法将缓冲区清空。BufferedWriter类有两个构造方法,其格式为:

?
1
2
public BufferedWriter(Writer out); //创建缓冲区字符输出流
public BufferedWriter(Writer out, int size); //创建输出流并设置缓冲区大小

【例】利用 BufferedWriter 类进行文件复制 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import java.io.*;
class ep10_4{
   public static void main(String args[]){
     String str= new String();
     try {
       BufferedReader in= new
       BufferedReader( new FileReader( "ep10_4_a.txt" ));
       BufferedWriter out= new
       BufferedWriter( new FileWriter( "ep10_4_b.txt" ));
       while ((str=in.readLine())!= null ){
         System.out.println(str);
         out.write(str); //将读取到的 1 行数据写入输出流
         out.newLine(); //写入换行符
       }
       out.flush();
       in.close();
       out.close();
     }
     catch (IOException e){
       System.out.println( "出现错误" +e);
     }
   }
}

需要注意的是,调用 out 对象的 write()方法写入数据时,不会写入回车,因此需要使用newLine()方法在每行数据后加入回车,以保证目标文件与源文件相一致.

最后此篇关于详解Java编程中面向字符的输出流的文章就讲到这里了,如果你想了解更多关于详解Java编程中面向字符的输出流的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com