2017-10-07 1 views
0

나는 stackoverflow 주위에 이것에 대한 몇 가지 주제를 알고 있지만 그 어떤 것도 내 문제를 해결 찾을 수 없습니다.안드로이드에서 CSV 파일을 만들 수 없다는 가능성은 항상 실패합니다

내 응용 프로그램 데이터를 저장하기 위해 SuccessPuly SharedPreferences를 구현했으며 내 목표는 CSV 파일로 해당 데이터를 내보내는 것입니다.

public void saveCSVFile(List<PessoaClass> data) { 
    PrintWriter writer; 
    String strFilePath = "C:\\users\\ricardo\\desktop\\testesCSV\\pessoas.csv"; 
    try { 
     File file = new File(strFilePath); 
     if(!file.exists()) 
      file = new File(strFilePath); 

     writer = new PrintWriter(new FileWriter(file,true)); 

     for(int i = 0; i < data.size(); i++){ 
      writer.print(data.get(i).getAge()); 
      writer.print(data.get(i).getSex());    
      writer.print(data.get(i).getName()); 
      writer.print(data.get(i).getEmail()); 
      writer.print("\r\n"); 
     } 
     writer.close(); 
    } 
    catch (Exception e) { 
     e.printStackTrace(); 
    } 
} 

나는 그것의 "java.io.FileNotFoundException로 계속 실행 오류 : C : 사용자 \를 \ 리카르도 \ 바탕 화면 \ testesCSV \ pessoas.csv (읽기

는 내가하려고했던 것입니다

public void saveCSVFile() { 
    String csv = "C:\\users\\ricardo\\desktop\\testesCSV\\pessoas.csv"; 
    try { 
     CSVWriter writer = new CSVWriter(new FileWriter(csv)); 
     List<String[]> imprimir = new ArrayList<>(); 

     imprimir.add(new String[]{"India", "New Delhi"}); 
     imprimir.add(new String[]{"United States", "Washington D.C"}); 
     imprimir.add(new String[]{"Germany", "Berlin"}); 

     writer.writeAll(imprimir); 
     writer.close(); 
    } 

    catch(IOException e){ 
     e.printStackTrace(); 
    } 
} 

오류가 동일 : - 단지 파일 시스템) "CSVWriter 라이브러리를 테스트하기 위해

은 또한 다음 예제 코드를 시도했다. 관리자로 Android Studio를 실행하려했지만 성공하지 못했습니다.

웹 사이트의 다른 사용자와 마찬가지로 루트 권한이없는 앱/앱이 아니라 개인용 컴퓨터 데스크톱에 쓰려고하기 때문에 오류가 무엇인지 이해할 수 없습니다.

이 앱은 루팅되지 않은 기기에서 실행됩니다.

도움을 주시면 감사하겠습니다.

+1

안드로이드는 '데스크톱'가없는 사용합니다. 각 앱은 자체 샌드 박스에서 실행됩니다. – Barns

답변

1

"java.io.FileNotFoundException :

C : \ 사용자 \ 리카르도 \ 바탕 화면 \ testesCSV \ pessoas.csv (읽기 전용 파일 시스템)"당신의 창 컴퓨터의 경로는

. C : 파티션. 하지만 앱은 Android 기기에서 실행되며 컴퓨터에있는 파일에 액세스 할 수 없습니다.

대신

File file = new File(getExternalFilesDir(null), "pessoas.csv"); 
관련 문제