bufferedreader和bufferedwriter的java提取方法
我必须改变方法。一个读取文件,另一个写入文件。如果要查看它们,它们仅在局部变量上有所不同:bufferedreader和bufferedwriter的java提取方法,java,extract,bufferedreader,bufferedwriter,Java,Extract,Bufferedreader,Bufferedwriter,我必须改变方法。一个读取文件,另一个写入文件。如果要查看它们,它们仅在局部变量上有所不同: public method1 wtite() { try { BufferedWriter out = new BufferedWriter(new FileWriter(file, true)); } catch (here come catch cases equal in two methods) } public method1 read() { try { Buff
public method1 wtite() {
try {
BufferedWriter out = new BufferedWriter(new FileWriter(file, true));
} catch (here come catch cases equal in two methods)
}
public method1 read() {
try {
BufferedReader in = new BufferedReader(new FileReader(file));
} catch (here come catch cases equal in two methods)
}
我想从两者中提取一个方法。根据传入对象是什么:打开或关闭文件。Smth是这样的:
public fileIO(??? io) {
try{
//read or write
} catch//put the same code here
}
是否可以使用相同的方法将编写器和读取器结合起来?将常见部分提取为方法:
void handle(...) {
// handle exception
}
public void read(...) {
try {
...
} catch (...) {
handle(...); // use defined method
}
}
public void write(...) {
try {
...
} catch (...) {
handle(...); // and here
}
}
不,没有办法统一阅读和写作。但是你可能想声明抛出IOException的方法,而不是捕获它。我认为这不是一个好主意,也不值得每行5行。但是,如果在创建BufferedReader/Writer之前或之后有一段大型通用代码,则可以将这些代码段分解为函数,并调用before/after函数?请