如何在Android';使用opencsv的内部存储?
我有一个助手类,我需要为我的应用程序处理数据 我已经将其设置为从URL读取文件。读取本身可以工作,但我很难将此文件写入应用程序的内部存储 根据Android教程,我使用了FileOutputStream来编写文件。然而,我发现很难找到一个解决方案来编写FileOutputStream并使用CSVWriter构造函数来解析它 代码非常长,因此如果您需要有关我的代码的更多信息,我将发布一个要点,但以下是导致我出现问题的原因:如何在Android';使用opencsv的内部存储?,android,opencsv,Android,Opencsv,我有一个助手类,我需要为我的应用程序处理数据 我已经将其设置为从URL读取文件。读取本身可以工作,但我很难将此文件写入应用程序的内部存储 根据Android教程,我使用了FileOutputStream来编写文件。然而,我发现很难找到一个解决方案来编写FileOutputStream并使用CSVWriter构造函数来解析它 代码非常长,因此如果您需要有关我的代码的更多信息,我将发布一个要点,但以下是导致我出现问题的原因: BufferedReader in = new BufferedReade
BufferedReader in = new BufferedReader(new InputStreamReader(file_url.openStream()));
String test;
CSVReader reader = new CSVReader(in, ';');
FileOutputStream file_out = app_context.openFileOutput(file_name, Context.MODE_PRIVATE);
CSVWriter writer = new CSVWriter(<What goes here?>, ';');
BufferedReader in=new BufferedReader(new InputStreamReader(file_url.openStream());
串试验;
CSVReader reader=新的CSVReader(在“;”中);
FileOutputStream file\u out=app\u context.openFileOutput(文件名,context.MODE\u PRIVATE);
CSVWriter writer=新的CSVWriter(,“;”);
CSVWriter writer=new CSVWriter(String.valueOf(file_out),“;”)引发异常:
08-19 14:22:30.794 29439-30099/com.example.a1003137m.profitgraph W/System.err:java.io.FileNotFoundException:java.io。FileOutputStream@dcfb9b3:打开失败:EROFS(只读文件系统)
08-19 14:22:30.794 29439-30099/com.example.a1003137m.profitgraph W/System.err:at libcore.io.IoBridge.open(IoBridge.java:452)
08-19 14:22:30.794 29439-30099/com.example.a1003137m.profitgraph W/System.err:at java.io.FileOutputStream.(FileOutputStream.java:87)
08-19 14:22:30.794 29439-30099/com.example.a1003137m.profitgraph W/System.err:at java.io.FileOutputStream.(FileOutputStream.java:72)
08-19 14:22:30.794 29439-30099/com.example.a1003137m.profitgraph W/System.err:at java.io.FileWriter.(FileWriter.java:80)
08-19 14:22:30.794 29439-30099/com.example.a1003137m.profitgraph W/System.err:at com.example.a1003137m.profitgraph.FileProcessor.processFile(FileProcessor.java:50)
08-19 14:22:30.794 29439-30099/com.example.a1003137m.profitgraph W/System.err:at com.example.a1003137m.profitgraph.FileProcessor.run(FileProcessor.java:40)
08-19 14:22:30.795 29439-30099/com.example.a1003137m.profitgraph W/System.err:原因:android.System.ErrnoException:打开失败:EROFS(只读文件系统)
08-19 14:22:30.795 29439-30099/com.example.a1003137m.profitgraph W/System.err:at libcore.io.Posix.open(本机方法)
08-19 14:22:30.795 29439-30099/com.example.a1003137m.profitgraph W/System.err:at libcore.io.BlockGuardOs.open(BlockGuardOs.java:186)
08-19 14:22:30.795 29439-30099/com.example.a1003137m.profitgraph W/System.err:at libcore.io.IoBridge.open(IoBridge.java:438)
08-19 14:22:30.795 29439-30099/com.example.a1003137m.profitgraph W/System.err:。。。还有5个
新的CSVReader(在“;”中)
现在中的是一个输入流
。那么您将如何使用新的CSVWriter(out,;)代码>?确实:一个输出流
!。同样适用于您使用的BufferedReader
和InputStreamReader
读取器
所以做一些类似的事情:BufferedWriter
和OutputStreamWriter
。你有没有试过把文件_out
?是的,它告诉我用String.valueOf()来包装它,但是它抛出了一个异常。你不知道是哪个异常?不聪明!发布日志猫。它告诉我用String.valueOf()来包装它。
??谁告诉你的?file\u url.openStream()
什么是file\u url
?请出示密码。
08-19 14:22:30.794 29439-30099/com.example.a1003137m.profitgraph W/System.err: java.io.FileNotFoundException: java.io.FileOutputStream@dcfb9b3: open failed: EROFS (Read-only file system)
08-19 14:22:30.794 29439-30099/com.example.a1003137m.profitgraph W/System.err: at libcore.io.IoBridge.open(IoBridge.java:452)
08-19 14:22:30.794 29439-30099/com.example.a1003137m.profitgraph W/System.err: at java.io.FileOutputStream.<init>(FileOutputStream.java:87)
08-19 14:22:30.794 29439-30099/com.example.a1003137m.profitgraph W/System.err: at java.io.FileOutputStream.<init>(FileOutputStream.java:72)
08-19 14:22:30.794 29439-30099/com.example.a1003137m.profitgraph W/System.err: at java.io.FileWriter.<init>(FileWriter.java:80)
08-19 14:22:30.794 29439-30099/com.example.a1003137m.profitgraph W/System.err: at com.example.a1003137m.profitgraph.FileProcessor.processFile(FileProcessor.java:50)
08-19 14:22:30.794 29439-30099/com.example.a1003137m.profitgraph W/System.err: at com.example.a1003137m.profitgraph.FileProcessor.run(FileProcessor.java:40)
08-19 14:22:30.795 29439-30099/com.example.a1003137m.profitgraph W/System.err: Caused by: android.system.ErrnoException: open failed: EROFS (Read-only file system)
08-19 14:22:30.795 29439-30099/com.example.a1003137m.profitgraph W/System.err: at libcore.io.Posix.open(Native Method)
08-19 14:22:30.795 29439-30099/com.example.a1003137m.profitgraph W/System.err: at libcore.io.BlockGuardOs.open(BlockGuardOs.java:186)
08-19 14:22:30.795 29439-30099/com.example.a1003137m.profitgraph W/System.err: at libcore.io.IoBridge.open(IoBridge.java:438)
08-19 14:22:30.795 29439-30099/com.example.a1003137m.profitgraph W/System.err: ... 5 more