替代的方法来打开一个文件上写J2ME?
题
我继承有点J2ME代码,其中一个单一的类中有以下两种方法:
public DataOutputStream getOutputStream(String filePath) throws IOException
{
return Connector.openDataOutputStream(filePath);
}
public DataOutputStream createOutputStream(String filePath) throws IOException
{
FileConnection fc = (FileConnection)Connector.open(filePath);
if(fc.exists())
return fc.openDataOutputStream();
else
fc.create();
return fc.openDataOutputStream();
}
据我所知,这两种方法做同样的事情。奇怪的是,该方法是正确的类彼此相邻,这意味着谁把它们放在那里知道他们在做什么。
是这些方法基本上是相同的?我可以摆脱他们中的一个吗? (或者可能是两个,想着它)。
解决方案
在我看来,这getOutputStream
将抛出一个异常,如果该文件不存在。
您只能摆脱它,如果没有一个依赖于这种行为。
在这种情况下通常的重构将有一个附加的布尔参数createOutputStream
让它知道,如果它不存在是否应该创建该文件。
其他提示
FileConnector可用在可选包而已,所以你不能依靠它的存在。
不隶属于 StackOverflow