完美地描述here怎么做,唯一的问题是:他不知道函数openFileOutput()
;
private void saveSettingsFile() {
String FILENAME = "settings";
String string = "hello world!";
FileOutputStream fos = openFileOutput(FILENAME, Context.MODE_PRIVATE); //openFileOutput underlined red
try {
fos.write(string.getBytes());
fos.close();
} catch (IOException e) {
Log.e("Controller", e.getMessage() + e.getLocalizedMessage() + e.getCause());
}
}
这些是我导入的相关软件包:
import java.io.FileOutputStream;
import java.io.IOException;
import android.content.Context;
答案 0 :(得分:2)
从dev.android.com上的示例中查看使用FileOutputStrem的this example。它应该让你知道如何正确使用它。
答案 1 :(得分:1)
声明此方法的类被定义为“静态”。这就是为什么它会抛出错误。从类定义和宾果游戏中删除静态...
答案 2 :(得分:0)
只需添加一个“try catch”块并将它们置于此之间。
像这样:
private void saveSettingsFile(String FILENAME, String data) {
FileOutputStream fos;
try {
fos = openFileOutput(FILENAME, Context.MODE_PRIVATE);
fos.write(data.getBytes());
fos.close();
} catch (FileNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} // openFileOutput underlined red
catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
当线下有红线时。首先检查该线是否在句号的正下方(即等号后)。
如果它覆盖整行,那么它必须修复一些错误..
或者如果它只在句子的右侧...那么它必须要处理一些异常事件。
如果你不知道它可能产生什么类型的例外......
不要害怕,只需在try块中编写所有代码(try {})然后添加一个catch并在catch中传递一个Exception对象..现在很好..
像这样:
try
{
...........your code
......
}
catch(Exception e)
{
e.printstacktrace();
}
现在一切都很好。
谢谢
答案 3 :(得分:0)
openFileOutput是Context对象的一种方法。并且不要忘记添加finally子句来关闭流。贝娄就是一个例子(由于Android,因为Java 6有点笨拙)。
String data = "Hello";
FileOutputStream fos = null;
try {
fos = mContext.openFileOutput(FILENAME, Context.MODE_PRIVATE);
fos.write(data.getBytes(Charset.defaultCharset()));
} catch (IOException e) {
e.printStackTrace();
} finally {
if (fos != null) {
try {
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
mContext变量应该在上面的某处定义,如果你在一个活动里面,就像mContext = getApplicationContext()一样初始化