我是一个Android新手并编写了这个代码用于文件处理,但由于某种原因,我总是从文件中获取空值。我也试过使用readline()但得到了相同的结果。非常感谢任何帮助。
@Override
public void onClick(View v)
{
// TODO Auto-generated method stub
String file = "test123";
try
{
OutputStream out = v.getContext().openFileOutput(file, MODE_PRIVATE);
InputStream in = v.getContext().openFileInput(file);
WriteFile(out);
String str = ReadFile(in);
Toast.makeText(v.getContext(), str, Toast.LENGTH_LONG);
} catch (FileNotFoundException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
}
public static void WriteFile(OutputStream out)
{
OutputStreamWriter tmp = new OutputStreamWriter(out);
try
{
for (int i = 0 ; i < 10; i++)
{
tmp.write(i);
}
}
catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static String ReadFile(InputStream in)
{
InputStreamReader tmp = null;
String str = "";
tmp = new InputStreamReader(in);
BufferedReader reader=new BufferedReader(tmp);
try
{
for (int i = 0; i < 10; i++)
{
str += " " + reader.readLine();
}
}
catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
return str;
}
}
答案 0 :(得分:1)
String file = "test123";
因此,您的文件路径应为{root}/test123
尝试定义路径,您可以访问以查看它是否已写入某些内容。 (通常:/ mnt / storage / your_file)
然后,您将能够确定写入/读取过程是否有效
注意:看看FileOutputStream,它已经实现了许多有用的方法