Tag: bufferedwriter

使用多个线程编写文件

我试图使用多个线程在Java中编写一个巨大的文件。 我在Java中尝试过FileWriter和bufferedWriter类。 正在编写的内容实际上是使用CopyManager读取并写入的整个表(Postgres)。 文件中的每一行都是表格中的一个元组,我一次写入100行。 写作方法: 在附加模式下,多个线程打开单个待写文件。 之后每个线程都尝试写入文件文件。 以下是我面临的问题: 有一段时间,文件的内容会被覆盖,即:一行保持不完整,下一行从那里开始。 我的假设是写入器的缓冲区已满。 这会强制编写器立即将数据写入文件。 写入的数据可能不是一个完整的行,在它可以写入余数之前,下一个线程将其内容写入文件。 使用Filewriter ,我会在文件中看到一条黑线。 有什么建议,如何避免这种数据完整性问题?

以ANSI格式读写文本

请查看以下代码 import java.io.*; public class CSVConverter { private File csvFile; private BufferedReader reader; private StringBuffer strBuffer; private BufferedWriter writer; int startNumber = 0; private String strString[]; public CSVConverter(String location, int startNumber) { csvFile = new File(location); strBuffer = new StringBuffer(“”); this.startNumber = startNumber; //Read try { reader = new BufferedReader(new FileReader(csvFile)); String line = “”; […]