我想在Android中打印文本,我的代码如下:
public static void Save(File file, String[] data)
{
FileOutputStream fos = null;
try
{
fos = new FileOutputStream(file);
} catch(FileNotFoundException e)
{
e.printStackTrace();
}
try
{
try
{
for(int i = 0; i < data.length; i++)
{
fos.write(data[i].getBytes());
if(i < data.length - 1)
{
fos.write("\n".getBytes());
}
}
} catch(IOException e)
{
e.printStackTrace();
}
} finally
{
try
{
fos.close();
} catch(IOException e)
{
e.printStackTrace();
}
}
}
但是当我点击按钮时,我的程序崩溃了,调试结果如下:
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void java.io.FileOutputStream.close()' on a null object reference
这行代码fos = new FileOutputStream(file);
(在第一次尝试中)不改变FOS的值,并且它保持为NULL。我在网上搜索,找不到解决办法。
发布于 2018-07-20 17:37:20
如果FOS为NULL,则不应该调用Close。如果FOS为NULL,则应立即返回,因为你无法打开文件。更好的问题是为什么FOS为NULL-你传递的路径无效,因为路径本身是错误的,父目录没有创建,或者你没有正确的权限。
https://stackoverflow.com/questions/-100005612
复制相似问题