zoukankan      html  css  js  c++  java
  • 往文件中按行写入数据

    如下代码是一个Java小程序,用于往文件写入数据。每次运行该程序,一个新的文件被创建,之前旧的文件被删除;这与往文件追加内容是有区别的。

        public static void writeFile1() throws IOException {
            File fout = new File("out.txt");
            FileOutputStream fos = new FileOutputStream(fout);
            BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(fos));
            for (int i = 0; i < 10; i++) {
                bw.write("something");
                bw.newLine();
            }
            bw.close();
        }

    这个例子使用了FileOutputStream,除了该类你还可以使用FileWriter或者PrintWriter,对于文本操作,通常是足够的;

    使用FileWriter:

        public static void writeFile2() throws IOException {
            FileWriter fw = new FileWriter("out.txt");
            for (int i = 0; i < 10; i++) {
                fw.write("something");
            }
            fw.close();
        }

    使用PrintWriter:

        public static void writeFile3() throws IOException {
            PrintWriter pw = new PrintWriter(new FileWriter("out.txt"));
            for (int i = 0; i < 10; i++) {
                pw.write("something");
            }
            pw.close();
        }

    使用OutputStreamWriter:

        public static void writeFile4() throws IOException {
            File fout = new File("out.txt");
            FileOutputStream fos = new FileOutputStream(fout);
            OutputStreamWriter osw = new OutputStreamWriter(fos);
            for (int i = 0; i < 10; i++) {
                osw.write("something");
            }
            osw.close();
        }

    Java文档中的相关说明:

    对于往文件写入字符数据,FileWriter是一个非常方便的类,这个类的构造方法使用了默认的字符编码和字节缓冲区大小。如果要自己指定这些值,可以先在 FileOutputStream 上构造一个 OutputStreamWriter。

    PrintWriter是向文本输出流打印对象的格式化表示形式,该类实现了PrintStream中的所有print方法,它不包含用于写入原始字节的方法,对于这些字节,程序应该使用未编码的字节流进行写入。

    主要的区别是PrintWriter提供了一些额外的方法用于格式化输出,如println、printf。另外如果发生任何I/O异常,FileWriter会抛出IOException,二PrintWriter不会抛出IOException,相反,它会设置一个boolean标志,该标志可以通过调用checkError()方法获取。PrintWriter在每次写入数据后会自动调用flush方法,然而对于FileWriter,调用者需要自己特别留意flush方法的调用。

    译文链接:http://www.programcreek.com/2011/03/java-write-to-a-file-code-example/

  • 相关阅读:
    [转]狼的故事8:生存就是坚持
    [转]狼的故事7:单枪匹马的代价
    如何在GridView的Footer内显示总计?
    javascript中如何正确将日期(Date)字符串转换为日期(Date)对象?
    无限级分类(非递归算法/存储过程版/GUID主键)完整数据库示例_(1)表结构
    [转]狼的故事12:王者的风范
    [转]狼的故事2:光线背后的嚎叫
    vs.net2008正式版发布并提供下载(英文版)
    [转]狼的故事11:以牙还牙
    [转]狼的故事3:百分之百的死亡
  • 原文地址:https://www.cnblogs.com/chenpi/p/5498731.html
Copyright © 2011-2022 走看看