Android 如何以较少的开销在文本文件中保存和检索InputStream

Android 如何以较少的开销在文本文件中保存和检索InputStream,android,file,caching,inputstreamreader,Android,File,Caching,Inputstreamreader,我正在以InputStreamReader的形式检索/下载JSONfeed,我需要将此InputStreamReader传递到JsonReader进行解析 JsonReader reader = new JsonReader(isr); // isr is the InputStreamReader instance 一切都很好。但我想将此InputStreamReader或其他格式的数据缓存到内部存储器中以供以后使用。对于缓存,我使用文本文件来保存。(顺便说一句,android默认缓存将数据

我正在以
InputStreamReader
的形式检索/下载
JSON
feed,我需要将此
InputStreamReader
传递到
JsonReader
进行解析

JsonReader reader = new JsonReader(isr); // isr is the InputStreamReader instance
一切都很好。但我想将此
InputStreamReader
或其他格式的数据缓存到内部存储器中以供以后使用。对于缓存,我使用文本文件来保存。(顺便说一句,android默认缓存将数据保存在外部存储器中,有些设备没有外部存储器)

为了保存此文件,我使用了
.txt
文件。但我只能将
String
格式化数据保存/缓存到文件中,并将其作为
String
读取。这是我到目前为止编写的用于写入和读取文件的代码:

public static void writeObject(Context context, String key, Object object)
        throws IOException {
    FileOutputStream fos = context
            .openFileOutput(key, Context.MODE_PRIVATE);
    ObjectOutputStream oos = new ObjectOutputStream(fos);
    oos.writeObject(object);
    oos.close();
    fos.close();
}

public static Object readObject(Context context, String key)
        throws IOException, ClassNotFoundException {
    FileInputStream fis = context.openFileInput(key);
    ObjectInputStream ois = new ObjectInputStream(fis);
    Object object = ois.readObject();
    return object;
}
但这种方法需要太多的转换:

inputStreamReader -> inputStream -> String //to save
String -> inputStream -> inputStreamReader // retrieve  

如何以较少的开销保存/缓存此数据?可能需要将
inputStreamReader
转换为
outputStreamReader
或类似的东西才能写入。但我想不出做这件事的关联代码。代码应该是什么?我还可以用android建议的方式缓存这些数据,以便以后使用intead将其保存为
.txt
文件吗

您不能缩短此过程,因为
String
是将信息保存在文件AFAIK中的最佳格式。另外,
inputStreamReader
inputStream
也不适合编写。可能还有其他更好的解释性答案:)