美文网首页
IO流java.io.PrintWriter

IO流java.io.PrintWriter

作者: Finlay_Li | 来源:发表于2019-04-07 16:51 被阅读0次

向文件写入内容

import java.io.File;

import java.io.FileNotFoundException;

import java.io.PrintWriter;

public class Demo {

public static void main(String[] args) {

    String path = File.separator + "home" + File.separator + "siu" +

                  File.separator + "work" + File.separator + "demo.txt";

    //创建文件对象

    File file = new File(path);

    PrintWriter p = null;

    try {

        //此处构造函数还可以传其他对象,具体参考API文档

        p = new PrintWriter(file);

        //向文件写入一行,此外还有print()和printf()方法

        p.println("如果有一天我回到从前");

        p.println("回到最原始的我");

        p.println("你是否会觉得我不错");

        //刷新流

        p.flush();

    } catch (FileNotFoundException e) {

        e.printStackTrace();

    } finally {

        p.close();

    }  

}

}

与PrintWriter类似的还有一个PrintStream类,此处以PrintWriter举例是因为文本文件具有人为可读性

而二进制文件(字节模式)则需要使用专门的程序来读取

可能有人会问:FileOutputStream、 FileWriter都能写文件,那么为何还需要PrintWriter和PrintStream类

如果细看API文档,可以知道前者单纯的字符写入流和字节写入流操作的方式大多用数组进行

对文件的细化处理非常不方便,而PrintWriter和PrintStream则很好的解决了这一问题,提供print()等方法

并且,PrintWriter和PrintStream对于不存在文件对象的情况下会直接创建,如果已有文件对象

它们则会把原有文件给覆盖掉,却没有增加方法

解决这问题也很简单,再看API文档

PrintWriter有一个构造方法PrintWriter(Writer out),也就是能够传入Writer对象

PrintStream有一个构造方法PrintStream(OutputStream out),也就是能传入OutputStream对象

因此,我们这样写就可以了

new PrintWriter(new FileWriter(file,true))

new PrintStream(new FileOutputStream(file,true))

既能增加数据,也能更高效的处理文件,见如下代码示范

PrintWriter追加数据功能

import java.io.File;

import java.io.FileWriter;

import java.io.IOException;

import java.io.PrintWriter;

public class Demo {

public static void main(String[] args) {

    String path = File.separator + "home" + File.separator + "siu" +

                  File.separator + "work" + File.separator + "demo.txt";

    //创建文件对象

    File file = new File(path);

    PrintWriter p = null;

    try {

        //利用FileWriter方式构建PrintWriter对象,实现追加

        p = new PrintWriter(new FileWriter(file,true));

        p.println("尼玛 这一句就是追加的 看到没");

        p.flush();

    } catch (IOException e) {

        e.printStackTrace();

    } finally {

        //我们来小心翼翼的关闭流,好吧^_^

        p.close();

    }

}

}

image.png

相关文章

  • IO流java.io.PrintWriter

    向文件写入内容 import java.io.File; import java.io.FileNotFoundE...

  • java基础-day20-IO流和StringBuffer

    IO流和StringBuffer 1. IO流 1.1 IO流概述 1.2 IO流分类 1.3 文件操作输入输出字...

  • Java之IO流详解

    title: Java之IO流详解tags: Java IO流categories: Java IO流 大多数应用...

  • 15_IO流

    IO流介绍 IO流是一个流水模型:IO理解成水管,把数据理解成水流 IO流的分类:按照流的方向分为:输入流、输出流...

  • IO流

    一、IO流 1.1 IO的概述 IO流介绍 IO:输入/输出(Input/Output) 流:是一种抽象概念,是对...

  • java io 流

    java io 流 io 流总览 io 流主要提供四个接口 InputStream: 输入字节流 OutputSt...

  • Java IO流(一)

    IO(Input Output)流的概述 下面给出IO流的基本概述,这样可以对IO流有一个宏观上的基本了解。 IO...

  • IO流

    一、IO流的概述: 二、IO流的分类: 三、字节缓冲流: 四、字符缓冲流: 五、转换流(把字节流转换为字符流): ...

  • IO流

    IO流的使用 今天咱们来说一下JAVA中最常用的数据处理的流 IO 流,说到IO啊,玩DOTA的小伙伴们就有声音...

  • IO流

    大家好,我是IT修真院深圳分院java第4期学员,一枚正直善良的java程序员。今天给大家分享一下,Java简单的...

网友评论

      本文标题:IO流java.io.PrintWriter

      本文链接:https://www.haomeiwen.com/subject/fmpsiqtx.html