2014-09-05 2 views
0

안드로이드 2.3.7 (Cyanogenmod)에서 새 파일을 올바르게 만드는 방법을 찾을 수 없습니다.android : android-2.3.7에서 파일을 만드는 방법은 무엇입니까?

String path = Environment.getExternalStorageDirectory().getPath() + "/gpx/"; 
//There is a gpx folder in my sdcard, the app can read those files but can't create a new one. 

File file = new File(path, filename); 
//if i insert file.createNewFile(); the app throws "IOException: Invalid argument" but does not crash. 
FileOutputStream fos = new FileOutputStream(file); 
String data = "somedata"; 
fos.write(data.getBytes()); 
fos.close(); 

OutputStream에가 공개 :

표준 코드 그냥 작동하지 않습니다는, IOException가 또는 FileNotFoundException이 발생합니다. 서비스가 중지되면 마지막 데이터가 onDestroy()의 다른 메도우에 의해 기록됩니다. 그 방법으로 fos.write (endtag.getbytes()); 오류는 NullPointerException입니다.

이전 코드는 파일을 만들지 못해 파일 출력 스트림을 만들지 않는다는 것을 알고 있습니다. 누구든지 아는 경우 "IOException : 잘못된 인수"란 무엇입니까? 그 잘못된 주장은 무엇입니까? 내가 어딘가에있는 문제를 이해하지 못하는 것 같아? 해당 버전의 안드로이드에서 파일을 만들 때 필요한 몇 가지 추가 매개 변수가 있습니까? 안드로이드 4. +에서 잘 작동합니다.

누구나 몇 가지 기본적인 예제를 안드로이드의 이전 버전에서 sdcard에 파일을 작성하거나 IOException의 "Invalid argument"가 무엇인지 설명 할 수 있습니까?

답변

0

마지막으로 나는 틀린 것을 발견했다. 이 질문에서 언급 한 것을 잊어 버렸습니다. 사용 된 파일 이름은 "yyyy-mm-dd HH:mm:ss" 형식의 날짜 였으므로 문제는 안드로이드 2.3.7에서 파일 이름에 허용되지 않는 ":"기호였습니다.

간단히 형식을 "yyyy-mm-dd HH-mm-ss"으로 수정하면 이러한 고통을 해결할 수 있습니다.

관련 문제