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();
}
私の知る限り、これらの2つの方法がまったく同じことを行います。奇妙に、方法がそれらを置く誰でも、彼らが何をしていたかを知っていたことを示唆し、クラスで隣同士に右されます。
これらの方法は、本質的に同じですか?私はそれらの一つを取り除くことはできますか? (または、おそらく両方とも、それについて考えて)ます。
解決
ファイルが存在しない場合getOutputStream
が例外をスローしますように私には思える。
誰がその動作に依存していない場合にのみ、それを取り除くことができます。
そのような状況では通常のリファクタリングは、それが存在しない場合は、ファイルを作成するかどうかを知っているようにcreateOutputStream
に追加ブール・パラメータを持っているだろう。
他のヒント
FileConnectorはオプションパッケージにのみに使用可能ですので、あなたその存在に依存することはできません。
所属していません StackOverflow