打开文件在J2ME上编写的其他方法?

时间:2009-08-27 12:06:12

标签: java file-io java-me jsr75

我继承了一些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();
}

据我所知,这两种方法完全相同。奇怪的是,这些方法在课堂上彼此相邻,暗示无论谁把它们放在那里都知道他们在做什么。

这些方法基本相同吗?我可以摆脱其中一个吗? (或者可能两者都在考虑)。

2 个答案:

答案 0 :(得分:1)

在我看来,如果文件不存在,getOutputStream将抛出异常。

如果没有人依赖这种行为,你只能摆脱它。

在这种情况下通常的重构是为createOutputStream添加一个布尔参数,让它知道是否应该创建文件(如果文件尚不存在)。

答案 1 :(得分:0)

FileConnector仅在optional package中可用,因此您无法依赖它。