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는 An에서 사용할 수 있습니다 선택적 패키지 당신은 그 존재에 의존 할 수 없습니다.
제휴하지 않습니다 StackOverflow