- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
public class database_wrapper {
users_database u_db;
SQLiteDatabase sql_db;
Context context;
database_wrapper(Context context)
{
u_db = new users_database(context);
sql_db = u_db.getWritableDatabase();
}
public long insert_data(List<name_holder> list)
{
ContentValues contentValues = new ContentValues();
long error_code = 0;
String fileName;
for(int i = 0; i < list.size(); i++) {
fileName = "test_image";//String.valueOf(list.get(i).id);
Log.v("datadata",fileName);
if(list.get(i)._bmp == null)
{
Log.v("datadata", "no image");
}
try {
ByteArrayOutputStream bytes = new ByteArrayOutputStream();
FileOutputStream fo;
list.get(i)._bmp.compress(Bitmap.CompressFormat.JPEG, 100, bytes);
fo = context.openFileOutput(fileName, context.MODE_PRIVATE);
fo.write(bytes.toByteArray());
// remember close file output
fo.close();
} catch (Exception e) {
e.printStackTrace();
Log.v("datadata", e.toString());
fileName = "null";
}
contentValues.put(u_db.ID, list.get(i).id);
Log.v("datadata1", String.valueOf(list.get(i).id));
contentValues.put(u_db.NAME, list.get(i).name);
Log.v("datadata2", list.get(i).name);
contentValues.put(u_db.DISTANCE, list.get(i).distance);
Log.v("datadata3", String.valueOf(list.get(i).distance));
contentValues.put(u_db.AVATAR, fileName);
Log.v("datadata4", fileName);
contentValues.put(u_db.AGE, list.get(i).age);
Log.v("datadata5", list.get(i).age);
contentValues.put(u_db.SEX, list.get(i).sex);
Log.v("datadata6", list.get(i).sex);
contentValues.put(u_db.ORIENT, list.get(i).orient);
Log.v("datadata7", String.valueOf(list.get(i).orient));
long j = sql_db.insert(u_db.TABLE_NAME, null, contentValues);
if (j < 0)
error_code = j;
int y = (int)j;
Log.v("datadata", String.valueOf(y));
}
return error_code;
}
这段代码给了我这个异常(exception):java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法“java.io.FileOutputStream android.content.Context.openFileOutput(java.lang.String, int)”我需要帮助..我做错了什么?第一次迭代的 LogCat:
07-23 06:45:56.686 8796-8915/? V/datadata﹕ test_image
07-23 06:45:56.696 8796-8915/? V/datadata﹕ java.lang.NullPointerException: Attempt to invoke virtual method 'java.io.FileOutputStream android.content.Context.openFileOutput(java.lang.String, int)' on a null object reference
07-23 06:45:56.696 8796-8915/? V/datadata1﹕ 2
07-23 06:45:56.696 8796-8915/? V/datadata2﹕ `h jvkv H h r
07-23 06:45:56.696 8796-8915/? V/datadata3﹕ 0
07-23 06:45:56.696 8796-8915/? V/datadata4﹕ null
07-23 06:45:56.696 8796-8915/? V/datadata5﹕ 90
07-23 06:45:56.696 8796-8915/? V/datadata6﹕ Male
07-23 06:45:56.696 8796-8915/? V/datadata7﹕ 0
07-23 06:45:56.706 8796-8915/? V/datadata﹕ -1
最佳答案
您没有初始化 context
对象,这就是您得到 NullPointerException
的原因。
在 database_wrapper()
构造方法中初始化 context
对象。
database_wrapper(Context context) {
this.context = context;
u_db = new users_database(context);
sql_db = u_db.getWritableDatabase();
}
关于java - Android FileoutputStream 空指针异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31586576/
我查看了 FileOutputStream 的 java 文档 http://docs.oracle.com/javase/7/docs/api/java/io/FileOutputStream.ht
在我的 Java 应用程序中,我创建了线程,其中使用包含在 BufferedInputStream 和 BufferedOutputStream 中的 FileOutputStream 和 FileI
我希望这是一个直接的设计问题。 上下文: 我可能正在通过套接字连接下载一个到多个文件。当从套接字读取字节[]时,我正在传递它们。我还知道将这些字节写入哪个文件。我将这些字节附加到文件中 FileOut
我正在尝试编写一个简单的测试方法来将文件从 Asset 文件夹复制到 sd 卡。当我尝试打开 SD 卡上的文件时,它崩溃了。 代码 try { // POp
目标是对硬编码的 log4j Appender 进行功能测试,该 Appender 扩展了 RollingFileAppender,其中我可以使用 MyAppender 重现写入同一文件的 log4j
这里是我如何将字节写入文件。我正在使用 FileOutputStream private final Handler handler = new Handler(){
如何解决这个问题? 我收到以下错误:关闭此“FileOutputStream”。但我已经在finally block 中关闭了它 public void initHistoryForOldFile(F
我过去曾遇到过此错误,但从未完全理解它。关闭 OutputStream 后,无论 java 文件的位置或其调用方式如何,所有顺序运行或写入另一个文件的尝试都会完全搞砸,即使使用不同的写入文件的方法也是
我正在尝试创建跨 JVM 锁。为了做到这一点,我想在远程 Linux 服务器中的某个位置创建一个 java.io.FileOutputStream,如下所示: some_remote_server.m
我正在制作一个包含文件复制的应用程序,但是当我浏览一个大目录(1000+)文件并将它们复制到另一个文件夹时,它使用 290+ MB 的 RAM。 那么,有没有办法在不创建 FileOutoutStre
我在 Java 中使用 FileOutputStream 和 BufferedWriter 时遇到了问题。 如果我的磁盘空间已满并且我正在尝试写入,它将抛出IOException(这是正确的),但是当
我有一个 FileOutputStream 和一个像这样的 cicle: PrintStream output = new PrintStream(new FileOutputStream("XXXX
很难说出这里问的是什么。这个问题是含糊的、模糊的、不完整的、过于宽泛的或修辞性的,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开它,visit the help center 。 已关
我有一个FileOutputStream。我想“保存”此文件并为其指定一个保存在资源文件夹中的自己的图标。 代码如下: ObjectOutputStream oout = new Ob
这个问题已经有答案了: How to write data with FileOutputStream without losing old data? (2 个回答) 已关闭 7 年前。 您好,我正
很难说出这里问的是什么。这个问题是含糊的、模糊的、不完整的、过于宽泛的或修辞性的,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开它,visit the help center 。 已关
目前我的代码中遇到 FileOutputStream 问题,使用 FileOutputStream 在磁盘中创建文件。创建文件后,无法从其位置打开、删除或移动文件,已经收到错误消息被其他用户锁定当网络
我正在尝试编写一个程序,将正弦波的数据保存到 .txt 中,但是当我执行该程序时,它写的内容比应有的少(有时甚至什么也不写)。这是代码: public static void main(String[
我在使用以下代码时遇到问题。我正在尝试写入 .ppm 文件,并且得到 Red.java:6: unreported exception java.io.FileNotFoundException; m
我正在从网络下载数据库,该数据库大小在 100 KB 到 500 KB 之间。这是我的代码(删除了无用的代码): URLConnection uConnection = downloadUrl.ope
我是一名优秀的程序员,十分优秀!