gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 12:09:54 24 4
gpt4 key购买 nike

我知道 stackoverflow 上有一些关于此问题的主题,但我找不到任何可以解决我的问题的主题。

我已成功实现(已测试)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:\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();
}
}

错误是一样的。我尝试以管理员身份运行 Android Studio - 没有成功。

我不明白错误是什么,因为我正在尝试写入我的个人计算机桌面,而不是像网站中的其他用户那样写入没有 root 权限的应用程序/应用程序。

此应用程序旨在在非 root 设备中运行。

感谢任何帮助!

最佳答案

“java.io.FileNotFoundException:

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

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

改为使用

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

关于java - 无法在 Android 中创建 CSV 文件,总是失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46623355/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com