Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/180.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法在Android中创建CSV文件,总是失败_Java_Android_Csv_Export To Excel_Export To Csv - Fatal编程技术网

Java 无法在Android中创建CSV文件,总是失败

Java 无法在Android中创建CSV文件,总是失败,java,android,csv,export-to-excel,export-to-csv,Java,Android,Csv,Export To Excel,Export To Csv,我知道有一些关于stackoverflow的话题,但我找不到任何解决我问题的方法 我已经成功地实现了(经过测试)SharedReferences来保存我的应用程序数据,现在我的目标是将数据导出到CSV文件 这就是我想做的: public void saveCSVFile(List<PessoaClass> data) { PrintWriter writer; String strFilePath = "C:\\users\\ricardo\\desktop\\te

我知道有一些关于stackoverflow的话题,但我找不到任何解决我问题的方法

我已经成功地实现了(经过测试)SharedReferences来保存我的应用程序数据,现在我的目标是将数据导出到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();
    }
}
public void saveCSVFile(列表数据){
版画作家;
String strFilePath=“C:\\users\\ricardo\\desktop\\testesCSV\\pessoas.csv”;
试一试{
文件=新文件(strFilePath);
如果(!file.exists())
文件=新文件(strFilePath);
writer=newprintwriter(newfilewriter(file,true));
对于(int i=0;i
我一直在其“java.io.FileNotFoundException:C:\users\ricardo\desktop\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();
    }
}
public void saveCSVFile(){
String csv=“C:\\users\\ricardo\\desktop\\testesCSV\\pessoas.csv”;
试一试{
CSVWriter writer=新CSVWriter(新文件编写器(csv));
List imprimir=new ArrayList();
添加(新字符串[]{“印度”、“新德里”});
添加(新字符串[]{“美国”、“华盛顿特区”});
incrimir.add(新字符串[]{“德国”、“柏林”});
书面作者(临时);
writer.close();
}
捕获(IOE异常){
e、 printStackTrace();
}
}
错误是一样的。 我曾尝试以管理员身份运行Android Studio,但没有成功

我不明白错误是什么,因为我试图写入我的个人电脑桌面,而不是像网站中的其他一些用户那样写入没有root权限的app/app

此应用程序应在非根设备中运行

感谢您的帮助

“java.io.FileNotFoundException:

C:\users\ricardo\desktop\testesCSV\pessoas.csv(只读文件系统)

这是windows计算机上的路径。在C:分区上。但你的应用程序运行在Android设备上,无法访问你计算机上的文件

改用

File file = new File(getExternalFilesDir(null), "pessoas.csv");

Android没有“桌面”。每个应用程序都在自己的沙箱中运行。