2014-05-15 6 views
2

하나의 파일을 다른 디렉토리에 복사하고 싶습니다. 이 파일은 데이터베이스 파일입니다.하나의 데이터베이스를 다른 디렉토리에 복사

private void copyDatabase() throws IOException { 

     File outPut = new File(Tools.OUTPUT_BACKUP_DATABASE); 
    File inPut = new File(Tools.DATABASE_INPUT_BACKUP); 

     FileInputStream is = new FileInputStream(inPut); 


     OutputStream os = new FileOutputStream(outPut); 


     byte[] buffer = new byte[1024]; 


     while (is.read(buffer) > 0) { 


      os.write(buffer); 


     } 
     os.flush(); 
     os.close(); 
     is.close(); 
} 

나는 사본을하고 싶습니다 : 이것은 내 코드입니다

public static final String DATABASE_INPUT_BACKUP = Environment.getExternalStorageDirectory().getAbsolutePath()+ "/storeUGif/" + SqliteHelper.DATABASE_NAME; 

public static final String OUTPUT_BACKUP_DATABASE = Environment.getExternalStorageDirectory().getAbsolutePath() + "/storeUGif/backup/" + SqliteHelper.DATABASE_NAME; 

:이 같은 것을 가지고 있지만 같은 오류가 발생했습니다 :

05-15 13:15:01.055: W/System.err(31247): java.io.FileNotFoundException: /mnt/sdcard/storeUGif/backup/gifs.db (No such file or directory) 

내 목적지 경로 원본 폴더에서 OUTPUT_BACKUP으로 파일을 가져 왔지만이 오류가 발생했습니다. 그것을 해결하는 방법?

답변

1

백업 폴더가 없기 때문에 생각합니다. 이 필요한 모든 폴더를 만들어야합니다

File outPut = new File(Tools.OUTPUT_BACKUP_DATABASE); 
outPut.mkdirs(); 

및 폴더가 이미 존재하는 경우는 아무것도 해치지 않을 것입니다 : 여기에 코드 줄을 추가합니다.

+0

감사합니다. 작동하지 않습니다. – DKM

+0

문제 없습니다. 도와 줘서 기뻐. – CurlyPaul

관련 문제