(十五).利用PrintWriter类进行文本文件的写操作

PrintWriter类是首选的用于写入一个文本文件的流类。

1).IOException

处理文件I/O时,程序很多时候可能会抛出某个类(如FileNotFoundException类)的异常,这些不同的异常类很多是IOException类的子孙类,IOException类是与输入和输出有关的各种异常类的根类。

2).PrintWrite类的方法

  1. public PrintWriter(OutputStream  streamObject)
    

Print Writer类没有以文件名为自变量的构造方法。

如果想要用文件名来创建一个流,则使用以下语句:

new PriteWriter(new
FileOutputStream(File_Name));

这样创建一个空白文件,若文件存在,则清空文件内容。

如果想要在已经存在的文件中进行写操作(若找不到该文件,则以该文件名创建一个新空白文件),则使用一下构造语句:

public PrintWriter(new FileOutputStream(File_Name,true));

以上PrintWriter类构造方法的调用,可能会由于文件名的格式错误、文件名与系统中的其他文件重名而抛出FileNotFoundException异常。

  1. public void println()
    

输出任意内容并换行。(若输出的是对象,则对象需要正确定义一个toString方法)

  1. public void print()
    

与println方法类似但不换行。

  1. publif PrintWriter printf();
    

与System.out.printf方法类似,区别在于此方法将输出发送到一个文本文件,为不是屏幕,他返回主叫对象。

  1. public void close()
    

关闭流与文件的连接。该方法再关闭文件前调用fiush方法。

  1. public void flush();
    

刷新输出流。这将任何已被缓冲的但还没有实际写入文件的数据强制写入文件。一般情况我们不调用该方法。

3).与文件相连接的输出流通常被缓冲,这就意味着程序并非尽快地实际写入输出数据的每个实例,而是把数据保存在一个称为缓存区的临时储存单元,当积累足够的数据,把数据真正的写入文件中,这么做可提升效率。

4).用于文件输入输出的类,都有一个名为close的方法,如果程序在结束运行前没有关闭与流连接的输入输出文件,系统会自动关闭,但我们应该显示地手动调用该方法。

因为:

如果程序异常地结束运行,Java不可能为我们关闭文件,而且可能会毁坏文件。

如果程序写入一个文件,而后又从该文件读取数据,则必须在关闭文件重新打开后才能进行读操作。



import
java.io.PrintWriter;

import
java.io.FileOutputStream;

import
java.io.FileNotFoundException;

/**

 * @author 爱哭的周小姐

 * 

 *       把数据输出到文本文件

 *

 */

public class TextFileOutputDemo 

{

    public static void main(String[] args)

    {

        PrintWriter outputStream=null;

        

        try

        {

             outputStream=new PrintWriter(new   FileOutputStream("asdf.txt"));

           
        }

        catch(FileNotFoundException e)

        {

             System.exit(0);
            
        }
        

        outputStream.println("你好!");
        

    outputStream.close();
        

    }
    

}
 


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值