java - 一个类可以有自己的私有(private)PrintWriter吗?

标签 java file-io printwriter

我正在编写一个 Table 类,它存储有关关系的列名和长度信息。然而,该类本身并不存储记录/元组,因为该信息应该通过 Insert 方法直接输入到 txt 文件中。为了通过不为每次调用重新创建 printwriter 来使插入方法更容易,Table 类是否可以拥有自己的 Printwriter 以便我可以从 Table.insert 调用?基本上,

public class Table{
    private String tableName;
    private PrintWriter writer;

    public void Table(){
        //get table name
        writer = new PrintWriter(tableName+".txt"); 
    ...}

    public void insert(){
        //get, format, add info to file
        writer.format(formatstring, args);
    }

PrintWriter 的使用有什么缺陷吗?

最佳答案

总而言之 - 是的,您可以拥有一个 PrintWriter 成员。由于您在这里处理的是文件系统,因此在创建 PrintWriter 时可能会出现各种各样的问题。在构造函数中打开它(而不是将其内联到成员的定义中)以允许正确的异​​常处理可能是更好的做法。

关于java - 一个类可以有自己的私有(private)PrintWriter吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33003887/

相关文章:

java - Hibernate 在测试中找不到实体

java - 使用扫描仪读取以前创建的文件时找不到文件

java - 如何访问 PrintWriter 内拆分的最后一个元素?

java - 使用 Bean 验证时防止内部服务器错误

java - 在托管 bean 中传递表单值

Python gzip.open .tell() 有一个线性增加的因素使它变慢

ruby - 单元测试文件 I/O 方法

c# - 写出列表的特定行

java - 用java编写具有固定宽度字段的文件

java - 将 C vector 更改为 Java