我正在编写一个函数来检查文件 CQ.txt 是否存在,如果存在,则从中读取。我一直遇到一个问题,我在while循环之外声明了await client.ExecuteStoredProcedureAsync<DeviceSignal>(
UriFactory.CreateStoredProcedureUri("db", "coll", "SetLatestStateAcrossReadings"),
new RequestOptions { PartitionKey = new PartitionKey("XMS-001") }, sprocsParams);
。在应用程序的后面,它应该写入问题1:正确或问题2:正确的文件。
但是,事实并非如此。它会创建文本文件,但是当我检查它时,它会显示为空。
以下是代码,提前谢谢:
printwriter
答案 0 :(得分:0)
你应该致电&#39;写&#39;关于BufferedWriter的方法,以及稍后关闭&#39;它。这是一个例子:
答案 1 :(得分:0)
BufferedWriter 顾名思义缓冲写入文件。对BufferedWriter的任何写操作都将写入内存缓冲区而不是直接写入文件。
这样做是为了提高效率,以节省IO浪费的CPU时间。
每次调用bufferedWriter.write
时,它都会将数据附加到缓冲区,只有当Buffer超过阈值时才将缓冲区数据写入文件,无论是默认值还是BufferedWriter(FileWriter,BufferSize)构造函数提供的。
建议刷新编写器并在将所有数据写入bufferedWriter后关闭它。
理想情况下,示例代码看起来像
Writer DB = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("CQ.txt"), "utf-8"));
DB.write("Dummy Data1 ");
DB.write("Dummy Data2");
DB.flush();
DB.close();
关闭并刷新后,您应该能够在文件中看到所有数据。