【发布时间】:2016-06-19 01:22:05
【问题描述】:
我有使用 BufferedWriter 在文件系统中创建文件的旧代码。
问题是当程序中出现一些验证错误时,它会创建一个空文件。 当出现验证错误时,它根本不应该创建文件,但只有在向其中写入数据(验证)时才会检测到错误。 PFB示例代码:
//Legacy code
File file1= new File(<path to directory>);
BufferedWriter dBufferedWriter = new BufferedWriter(new FileWriter(file1));
//Code that can have error and this repeats in loop
String str = "some string or null if error occurs";
if(validate(str)){
dBufferedWriter.write(str);
}
//Later at end
dBufferedWriter.close();
有没有办法在不需要时延迟创建文件?
【问题讨论】:
-
你想避免什么样的错误?你在做什么类型的错误处理?我在你的 sn-p 中没有看到任何内容。
-
请给我们一个完整的例子来说明你在这里想要完成的事情,还有作者在测试什么?
-
例如,如果 str = "password" 我想跳过创建文件。对字符串值有什么规则并不重要,但对字符串进行了一些验证。让我修改代码来解释一下。
-
我会做 private boolean validateContent(Object data) 。 IF 且仅 IF 其罚款然后调用文件 io 部分
-
什么是
dBufferedWriter?此代码无法编译。