2011-12-14 5 views
0

블루투스를 통해 대상 장치에서 파일을 이전 버전으로 바꿔야합니다. OBEX (FTP 및 OPP) 프로파일이이 용도로 필요하다는 것을 알고 있습니다. 하지만 잘 모르겠다 어떻게 이전 버전을 삭제하고 대상 디렉토리 (java 코드)에 파일의 새 버전을 복사 할 수 있습니다.OBEX에서 FTP를 사용하여 블루투스 자바 코드를 통해 파일을 삭제하고 대상 장치에 복사하는 방법은 무엇입니까?

제발 도와 주실 수 있습니까?

답변

1

파일 조작을 수행하려면 먼저 파일이있는 디렉토리로 변경해야합니다. 당신은/루트/디렉토리에 도착해야하는 경우 exampe를 들어 ,/하위 디렉터리/ 당신은 setPath 세 번

setPath(""); // to get to /root/ 
    setPath("directory") // get to /root/directory/ 
    setPath("subdir") // get to root/directory/subdir/ 

를 호출해야합니다 모든 아래 작성된 코드는 J2ME 을 위해 내가 분리기와 경로를 설정하려면이 방법을 사용하는 것입니다 (예 :/루트/디렉토리 /)

private void moveToDirectory(String dir) throws IOException { 
     RE r = new RE("/"); // where RE is me.regexp.RE 
     setDir(""); 
     String[] dirs = r.split(dir); 
     for (int i = 1; i < dirs.length; i++) setDir(dirs[i]); 
    } 

당신이 그것에 PUT 조작을 열고 닫습니다, 또는대로 ClientSession의 삭제 방법을 사용해야합니다 파일을 삭제합니다. 당신이 파일을 교체해야하는 경우

public void delete() throws IOException { 
     HeaderSet hs = cs.createHeaderSet(); // where cs is an opened ClientSession 
     hs.setHeader(HeaderSet.NAME, file); // file - is a filename String, no slashes should be used 
     cs.delete(hs); 
    } 

당신은 아마, 방법을 삭제 전화를 열어 OutputStream에 필요하고 그것을 기록하지 않는 새

public OutputStream openOutputStream() throws IOException { 
     HeaderSet hs = cs.createHeaderSet(); 
     hs.setHeader(HeaderSet.NAME, file); 
     Operation op = cs.put(hs); // Operation should be global, so you can close it after you done 
     return op.openOutputStream(); 
    } 

당신이 수행 한 후 작업을 닫습니다 기억 개울.