如何在Android';使用opencsv的内部存储?

如何在Android';使用opencsv的内部存储?,android,opencsv,Android,Opencsv,我有一个助手类,我需要为我的应用程序处理数据 我已经将其设置为从URL读取文件。读取本身可以工作,但我很难将此文件写入应用程序的内部存储 根据Android教程,我使用了FileOutputStream来编写文件。然而,我发现很难找到一个解决方案来编写FileOutputStream并使用CSVWriter构造函数来解析它 代码非常长,因此如果您需要有关我的代码的更多信息,我将发布一个要点,但以下是导致我出现问题的原因: BufferedReader in = new BufferedReade

我有一个助手类,我需要为我的应用程序处理数据

我已经将其设置为从URL读取文件。读取本身可以工作,但我很难将此文件写入应用程序的内部存储

根据Android教程,我使用了FileOutputStream来编写文件。然而,我发现很难找到一个解决方案来编写FileOutputStream并使用CSVWriter构造函数来解析它

代码非常长,因此如果您需要有关我的代码的更多信息,我将发布一个要点,但以下是导致我出现问题的原因:

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