2017-10-07 11 views
0

これについては、stackoverflowの周りにいくつかのトピックがありますが、私の問題を解決するものは見つかりません。AndroidでCSVファイルを作成することはできません。いつも失敗します

私はアプリケーションデータを保存するためにsuccessfuly 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(読みますCSVWriterライブラリをテストするためにのみのファイルシステム)」

、私はまた、次のサンプルコードを試してみました:

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(); 
    } 
} 

エラーが同じでした。 Android Studioを管理者として実行しようとしましたが、成功しませんでした。

私は自分のパソコンのデスクトップに書き込もうとしているので、私は理解していません。

このアプリはルートになっていない端末で実行されます。

ご協力いただきましてありがとうございます。

+1

を使用しています。各アプリは独自のサンドボックスで動作します。 – Barns

答えて

1

"java.io.FileNotFoundException:

C:\ Users \ユーザーリカルド\デスクトップ\ testesCSV \ pessoas.csv(読み取り専用ファイルシステム)" Windowsコンピュータ上のパスがある

。 C:パーティション。しかし、あなたのアプリはAndroidデバイス上で動作し、コンピュータ上のファイルへのアクセス権はありません。

代わりに、Androidは 'デスクトップ' を持っていない

File file = new File(getExternalFilesDir(null), "pessoas.csv"); 
関連する問題