阅读文件与写作文件

时间:2014-11-16 18:28:46

标签: java file io

这个问题不是具体问题,而是一个更普遍的问题。对于读取文件,我知道您可以使用扫描仪并阅读它然后打印它。然而,读取文件然后以新格式打印,如双倍空格,缩进,基本上任何间距问题,是否也被认为是阅读它还是写它?根据我对老师教给我的东西的理解,写作会覆盖原始文件并替换它。另外如何使用PrintWriter命令?我以前从未在课堂上看过这个,也没有在我的教科书中读过这本书,但根据老师的说法,这是我的考试。有人可以给出解释和一个例子吗?

我在写这个网站http://www.caveofprogramming.com/frontpage/articles/java/java-file-reading-and-writing-files-in-java/时写了文件,但它使用了FileWriter,我假设它取代了扫描仪?是吗?

1 个答案:

答案 0 :(得分:1)

在java中读取和写入文件都是关于使用流和流可以是二进制或顺序的。

中提供了不同的类
  

java.io

包和这些类在不同的场景中使用。例如,使用二进制流您可能需要一些特殊功能。 PrintWriter类用于将格式化文本写入文本输出流,如PrintWriter

所述

如果您想覆盖现有文件或将数据附加到现有文件,则可以选择它。

这里是将数据写入文件的简单代码。您可以附加或覆盖现有文本

import java.io.FileWriter;
import java.io.PrintWriter;

public class Main {
  public static void main(String[] args) throws Exception {
    String filename = "fileName.txt";
    String[] linesToWrite = new String[] { "a", "b" };
    boolean appendToFile = true;

    PrintWriter pw = null;
    if (appendToFile) {
      // if you append data to file then pass 'true' to FileWriter else pass false
      // PrintWriter needs an object of Writer type so we pass an anonymous object of
      // FileWriter to PrintWriter constructor
      pw = new PrintWriter(new FileWriter(filename, true));
    } else {
      pw = new PrintWriter(new FileWriter(filename));
      // pw = new PrintWriter(new FileWriter(filename, false));
    }
    for (int i = 0; i < linesToWrite.length; i++) {
      pw.println(linesToWrite[i]);
    }
    pw.flush();
    pw.close();
  }
}