Java:CSV 文件易于读​​/写

标签 java csv file-io line bufferedwriter

我正在开发一个需要快速访问 CSV 逗号分隔电子表格文件的程序。 到目前为止,我已经能够使用 BufferedReader 轻松读取它。 但是,现在我希望能够编辑它读取的数据,然后将其导出回 CSV。

电子表格包含姓名、电话号码、电子邮件地址等。程序列出了每个人的数据,当您点击它们时,它会弹出一个页面,其中包含更详细的信息,也是从 CSV 文件中提取的。在该页面上,您可以编辑数据,我希望能够单击“保存更改”按钮,然后将数据导出回 CSV 中相应的行——或者删除旧的,并附加新的。

我不太熟悉使用 BufferedWriter,或者我应该使用的任何东西。

我开始做的是创建一个名为 FileIO 的自定义类。它包含一个 BufferedReader 和一个 BufferedWriter。到目前为止,它有一个返回 bufferedReader.readLine() 的方法,称为 read()。现在我想要一个名为 write(String line) 的函数。

public static class FileIO {
    BufferedReader read;
    BufferedWriter write;

    public FileIO (String file) throws MalformedURLException, IOException {
        read = new BufferedReader(new InputStreamReader (getUrl(file).openStream()));
        write = new BufferedWriter (new FileWriter (file));
    }

    public static URL getUrl (String file) throws IOException {
        return //new URL (fileServer + file).openStream()));
                FileIO.class.getResource(file);
    }

    public String read () throws IOException {
        return read.readLine();
    }

    public void write (String line) {
        String [] data = line.split("\\|");
        String firstName = data[0];

        // int lineNum = findLineThatStartsWith(firstName);
        // write.writeLine(lineNum, line);
    }
};

我希望有人知道我该怎么做?

最佳答案

与其重新发明轮子,不如看看 OpenCSV支持CSV文件的读写。以下是 reading & writing 的示例

关于Java:CSV 文件易于读​​/写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14226830/

相关文章:

java - 在 LDAP searchResult 上执行 nextElement 时的 NPE

concurrency - 根据 POSIX,我的写入何时对其他进程可见?

java - 有效使用文件系统列出存储在资源中的 zip 文件条目

c# - 文件检查与打印

r - Gephi 中的 CSV 导入

java - 如何将泛型用于不同类的相似方法

java - Spring FilterChain + 安全 : log request with user or not

java - 如何在没有HQL的情况下在Hibernate中执行普通的SQL查询?

python - 如何从一个文件创建多个数据帧?

python - 如何在 Python 中将 Azure Blob 存储中的 CSV 作为流处理