0
好的,我正式对Android上的文件处理感到沮丧。我是新来的(只有几天),所以我可能会错过一些明显的东西。我已成功地在每行上写入了一个包含多个CSV数据的短文件。这不是问题;阅读是。我开始与这(留下了异常处理和分析的清晰度):Android上的各种读取线方法失败
FileInputStream in = context.openFileInput("foo.txt");
InputStreamReader isr = new InputStreamReader(in);
BufferedReader buffreader = new BufferedReader(isr);
String inline;
while((inline = buffreader.readLine())!=null)
{
// parse CSV here
}
我读线的时候有一个即时为null。所以我重新开始工作,尝试使用SO中的各种示例作为模式读取原始字节。我不会重现所有的失败,但这样的事情并没有工作,要么:
FileInputStream in = context.openFileInput("foo.txt");
InputStreamReader isr = new InputStreamReader(in);
BufferedReader buffreader = new BufferedReader(isr);
CharBuffer buff = CharBuffer.allocate(1024);
isr.read(buff);
String s = buff.toString();
调试表明,字符缓冲区和字符串消耗了人物,但他们是空白。那么,如果有必要,我可以真正走向老派(我在十岁之前就用C编程)。以下工作:
FileInputStream in = context.openFileInput("foo.txt");
InputStreamReader isr = new InputStreamReader(in);
int c;
String foo = "";
while((c = isr.read())>=0)
foo += (char)c;
“FOO”设法把整个内容,我可以分裂和过程,但我不喜欢,它是如此粗糙。是的,它有效,但我想知道为什么其他人没有。我试图严格遵守SO中的各种例子,但没有成功。
有关首次尝试可能出错的任何想法?
请提供foo.txt的文件 –
你为我提供的代码(第一位的,没有看其他的人)是正确的。也许问题只是你不打开文件?文件位于何处?在资产文件夹中? – HpTerm
Yeah..openFileInput用于内部存储(应用程序包).so我相信你的文件不存在。 –