- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试将字符串写入文件,为此我使用 openFileOutput:
FileOutputStream fOut = openFileOutput("samplefile.txt",Context.MODE_PRIVATE);
由于某种原因,应用程序因 NullPointerException 而崩溃(我读到它发生在模拟器上,而不是在实际设备上,所以我挂上了手机,猜猜看是什么 - 也崩溃了:-( )
这是 LogCat 输出:
04-18 22:48:25.520: E/AndroidRuntime(12045): FATAL EXCEPTION: main
04-18 22:48:25.520: E/AndroidRuntime(12045): java.lang.NullPointerException
04-18 22:48:25.520: E/AndroidRuntime(12045): at android.content.ContextWrapper.openFileOutput(ContextWrapper.java:165)
04-18 22:48:25.520: E/AndroidRuntime(12045): at com.example.tester.GenerateXml.listToTextFile(GenerateXml.java:48)
04-18 22:48:25.520: E/AndroidRuntime(12045): at com.example.tester.MainActivity$1.parseAppListToXML(MainActivity.java:81)
04-18 22:48:25.520: E/AndroidRuntime(12045): at com.example.tester.MainActivity$1.onClick(MainActivity.java:62)
04-18 22:48:25.520: E/AndroidRuntime(12045): at android.view.View.performClick(View.java:3517)
04-18 22:48:25.520: E/AndroidRuntime(12045): at android.view.View$PerformClick.run(View.java:14155)
04-18 22:48:25.520: E/AndroidRuntime(12045): at android.os.Handler.handleCallback(Handler.java:605)
04-18 22:48:25.520: E/AndroidRuntime(12045): at android.os.Handler.dispatchMessage(Handler.java:92)
04-18 22:48:25.520: E/AndroidRuntime(12045): at android.os.Looper.loop(Looper.java:154)
04-18 22:48:25.520: E/AndroidRuntime(12045): at android.app.ActivityThread.main(ActivityThread.java:4624)
04-18 22:48:25.520: E/AndroidRuntime(12045): at java.lang.reflect.Method.invokeNative(Native Method)
04-18 22:48:25.520: E/AndroidRuntime(12045): at java.lang.reflect.Method.invoke(Method.java:511)
04-18 22:48:25.520: E/AndroidRuntime(12045): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:809)
04-18 22:48:25.520: E/AndroidRuntime(12045): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:576)
04-18 22:48:25.520: E/AndroidRuntime(12045): at dalvik.system.NativeStart.main(Native Method)
这是我的代码:
package com.example.tester;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.util.List;
import android.app.Activity;
import android.content.Context;
import android.content.pm.ApplicationInfo;
import android.util.Log;
import android.util.Xml;
public class GenerateXml extends Activity{
private List<ApplicationInfo> packages;
private static final String TAG = MainActivity.class.getName();
private static final String FILENAME = "myFile.txt";
public void listToTextFile(List<ApplicationInfo> _packages) {
try { // catches IOException below
final String TESTSTRING = _packages.toString();
// ##### Write a file to the disk #####
/* We have to use the openFileOutput()-method
* the ActivityContext provides, to
* protect your file from others and
* This is done for security-reasons.
* We chose MODE_WORLD_READABLE, because
* we have nothing to hide in our file */
//
FileOutputStream fOut = openFileOutput("samplefile.txt",Context.MODE_PRIVATE);
OutputStreamWriter osw = new OutputStreamWriter(fOut);
// Write the string to the file
osw.write(TESTSTRING);
/* ensure that everything is
* really written out and close */
osw.flush();
osw.close();
}catch (IOException e){
//Log.e(TAG,"could not open file out stream", e);
}
}
}
有什么想法吗?
最佳答案
似乎您已经使用 newGenerateXml()
实例化了 GenerateXml
Activity 。您无法以这种方式实例化 Activity - 它们将无法正确设置为Context
等。
从您发布的代码来看,GenerateXml
似乎根本不应该是Activity
。删除 extends Activity
并在需要时传入 Context
作为参数,例如:
public void listToTextFile(Context context, List<ApplicationInfo> _packages) {
//...
... context.openFileOutput(...);
关于java - Android:openFileOutput 抛出 NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23161519/
我正在将数据写入 Android 应用程序中的 xml 文件。我查找了如何正确执行文件 IO 并发现我需要使用 openFileOutput。据我所知,我的代码没有任何问题,但它不断在我在以下代码中包
我正在尝试使用不是 Activity 类的类中的 openFileOutput。当我写下面的东西时,它给了我空指针异常- try { Context con = null;
我正在逐步调试以下代码 fragment ,它不会按预期创建或读取文件,也不会引发任何异常。这位于我的应用程序的主要 Activity 中。这些代码行有什么问题吗? public void onCli
我的应用程序权限有问题。我的应用似乎没有在存储上创建文件的权限。 String FILENAME = "hello_file"; String string = "hello world!"; Fil
首先,我在 Main Activity 中编写了一些方法,但我决定它们应该是一个类。 这是我的代码... openFileOutput 和 openFileInput 未定义。任何想法??也许它应该是
这是我本周的菜鸟问题。我正在寻找更多的一般猜测而不是特定代码,也许希望 Android 人员正在关注并纠正这一点: Context.openFileOutput 的 SDK 文档说: Open a p
我想知道使用 context.openFileOutput() 写入文件的实际路径(在存储中),如下所示(跳过异常(exception))。 public static void writeObjec
我正在尝试使用 Wifi 将文件复制到 Android 设备。对于我无法告诉的文件创建工作,但我无法在任何地方找到它...... 我尝试在 Eclipse 上使用 DDMS,但是数据文件夹中没有任何内
我创建了一个程序,用户可以在其中创建一个arrayList,然后将该列表保存到存储设备上的一个文本文件中。我使用了来自 https://developer.android.com/training/b
我创建了一个静态处理程序来从监听传入蓝牙数据的线程接收数据。此处理程序调用:measure_finish2() 并且此方法调用一个名为:measure_finish() 的非静态方法,在最后一个方法中
我像这样将我的文件保存到应用程序的私有(private)内部存储中,然后将该文件传递到 Uri 中,以便我可以将其作为其他 Activity 的结果返回 String filename = new S
这个问题在这里已经有了答案: What file system path is used by Android's Context.openFileOutput()? (4 个答案) 关闭 9 年前
我创建了文件,即 txt 文件,并使用 openFileOutput fn 将值存储到其中。此函数在 data/data/app_name/files 文件夹中创建 txt 文件。现在我正在尝试将 .
我用过很多次openFileOutput。 例子: FileOutputStream fileOutputStream = openFileOutput(fileName, Context.MODE_
我目前正在构建一个应用程序,用户将随着时间的推移生成数据,如果他/她有互联网连接,则将其传输到网络。但是,如果他没有网络访问权限,我需要将这些数据存储在手机中,直到用户恢复他的访问权限,那时我需要恢复
我正在尝试将字符串写入文件,为此我使用 openFileOutput: FileOutputStream fOut = openFileOutput("samplefile.txt",Contex
作为一名 Android 开发新手,我遇到了一些奇怪的问题。我想创建一个类,它方法其他类- Activity -任何可以用于以某种特殊方式处理文件的类。假设为了简单起见,我们将记录一些内容。如果我在
我正在尝试让我的 rss 阅读器保存 URL 地址,以便在重新打开时保存它。但出于同样的原因,openFileOutput 和 openFileInput 是红色的,它表示它无法解析方法。 我们的教授
我正在尝试保存 html 文件。我有扩展 AsyncTask 的类 public class DownloadBook extends AsyncTask { 在这个类中,我有这个方法: privat
我阅读了 openFileOutput 的文档,并看到“打开与此上下文的应用程序包关联的私有(private)文件进行写入。如果文件尚不存在,则创建该文件”( http://developer.and
我是一名优秀的程序员,十分优秀!