【问题标题】:How to load a preexisting PrintWriter into Java? [duplicate]如何将预先存在的 PrintWriter 加载到 Java 中? [复制]
【发布时间】:2018-01-07 01:26:36
【问题描述】:

我有一个 txt 文件要加载到 Java 中,我一直在尝试使用

PrintWriter writer = new PrintWriter(new File("location/name.txt"));

但它不是加载现有文件,而是覆盖旧文件并创建一个新的空白文件。如何将现有文件加载到 Java 中?

【问题讨论】:

  • 这个问题没什么意义。您不能“加载 PrintWriter”。 PrintWriter 用于写入 文件。这就是PrintWriter 中的“写”所指的内容。如果你想阅读一个文本文件,你需要使用某种Reader。但是,由于我们不知道您实际上想要做什么,我认为我们无法回答这个问题。
  • 如果你想读取一个文件,你需要使用 Reader 而不是 Writer。

标签: java file load printwriter


【解决方案1】:

您必须使用 Reader 而不是 Writer。

在 Java 中有多种读取文本文件的方法,例如您可以使用 FileReader、BufferedReader 或 Scanner 来读取文本文件。每个类都有自己的目的,例如BufferedReader用于缓存数据以便快速读取,Scanner提供解析能力。

使用 BufferedReader 的示例:

public class ReadFile {

     public static void main(String[] args)throws Exception
      {
      File file = new File("C:\\location\\test.txt");

      BufferedReader br = new BufferedReader(new FileReader(file));

      String st;
      while ((st = br.readLine()) != null)
        System.out.println(st);
      }
}

【讨论】:

    【解决方案2】:

    我想这就是你想要的:

        try(PrintWriter pw = new PrintWriter(new BufferedWriter(new FileWriter("location/yourFileName.txt", true)))) {
           pw.println("what you want to write to the file");
           pw.close();
        } catch (IOException e) {
          //Exception handling goes here.
        }
    

    FileWriter 构造函数的第二个参数用于设置附加条件。此外,正如 cmets 中所述(并且非常明显),您需要阅读器来 loadinput 数据。

    【讨论】:

      【解决方案3】:

      你可以试试 文件 f = new File(filePathString);

      【讨论】:

      • 这不会加载文本文件。没有任何想象力。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-09
      • 1970-01-01
      • 1970-01-01
      • 2017-02-28
      • 2019-06-05
      • 1970-01-01
      相关资源
      最近更新 更多