【发布时间】:2012-12-23 00:07:21
【问题描述】:
我正在开发一个需要快速访问 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);
}
};
我希望有人知道我该怎么做?
【问题讨论】:
-
不是你的问题本身的答案:你知道SuperCSV,一个易于使用的多功能 CSV 读写库,它极大地促进了与 csv 文件的交互。
标签: java csv file-io line bufferedwriter