2013-03-06 3 views
0

타임 스탬프를 이름으로 사용하여 파일을 저장하려고합니다. 내가 직접 파일 이름을 지을 때 파일을 저장할 수 있지만 타임 스탬프를 사용하려고하면 파일이 작동하지 않습니다. 내 코드는 다음과 같습니다.타임 스탬프를 사용하여 파일 저장

 Long tsLong = System.currentTimeMillis()/1000; 
     String ts = tsLong.toString(); 

     File newxmlfile = new File(Environment.getExternalStorageDirectory() 
       + ts); 
     try { 
      newxmlfile.createNewFile(); 
     } catch (IOException e) { 
      Log.e("IOException", "exception in createNewFile() method"); 
     } 

     FileOutputStream fileos = null; 
     try { 
      fileos = new FileOutputStream(newxmlfile); 
     } catch (FileNotFoundException e) { 
      Log.e("FileNotFoundException", "can't create FileOutputStream"); 
     } 

이 작업을 수행하는 방법을 아는 사람이 있습니까?

EDIT (SOLVED) : 아래 줄을 변경하고 타임 스탬프를 사용하여 XML 파일로 파일을 저장했습니다.

File newxmlfile = new File(Environment.getExternalStorageDirectory() 
       ,ts + ".xml"); 
+0

오류가 발생 했습니까? –

+0

-1 "작동하지 않음"을 정의하지 않았습니다. – njzk2

답변

5

잘못된 경로로 파일을 생성하고 있다고 생각합니다. 당신이 문자열 concatination을하고

는 :

Environment.getExternalStorageDirectory() + ts 

... 당신은 파일 경로 (같은) /mnt/sdcard 당신의 타임 스탬프 123456를 추가합니다. 그리고 당신은 같은 잘못된 경로로 끝날 :

/mnt/sdcard14571747181 

(그리고 당신이 외부 디렉토리에 있지 때문에 해당 파일에 대한 쓰기 액세스를 가지고 havn't는.)

어느 쪽이든 당신은 파일을 추가 분리 자 또는 파일을 다음과 같이 작성하십시오.

File newxmlfile = new File(Environment.getExternalStorageDirectory(), ts); 
                    ^^ 
                   the change 
관련 문제