什么是最好的使用方式,例如FileOutputStream
而不会弄乱我的代码。
例如以下代码:
我需要做的是:
FileOutputStream fOut = new FileOutputStream(file);
while(!Thread.currentThread().isInterrupted()){
fOut.write(data);
//other code
}
但是如果我添加异常处理就全乱了。例如,我认为类似以下内容:
private FileOutputStream openStream(String file){
try{
return new FileOutputStream(file);
}
catch(FileNotFoundException e){
return null;
}
}
但随后它使逻辑变得奇怪。我的意思是当我关闭流时,例如在另一种方法等。
有什么方法可以获得更清晰的代码
最佳答案
像这样的包装器怎么样:
public class StreamWrapper {
private FileOutputStream fileOutputStream;
public FileOutputStream open(String file) {
try {
fileOutputStream = new FileOutputStream(file);
} catch (FileNotFoundException e) {
// Define action
}
return fileOutputStream;
}
public void close() {
try {
fileOutputStream.close();
} catch (IOException e) {
// Define action
}
}
}
并像这样使用它:
StreamWrapper wrapper = new StreamWrapper();
FileOutputStream fOut = wrapper.open("file");
// something
wrapper.close();
关于java - 文件 I/O 无异常处理,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14952566/