小编Ric*_*ard的帖子

读取以前由同一个应用程序编写的缓存文件

我正在使用以下代码写入文件:

File file = new File(getCacheDir(), "cachefile");
FileOutputStream fos = new FileOutputStream(file);
StringBuilder cachetext = new StringBuilder();
Iterator bri = brands.iterator();
Iterator bli = brand_id.iterator();
while(bli.hasNext()) {
    cachetext.append(bli.next() + "|" + bri.next() + System.getProperty("line.separator"));
}
fos.write(cachetext.toString().getBytes());
fos.close();
Run Code Online (Sandbox Code Playgroud)

这很好 - 没有错误,文件最终包含我希望它包含的内容.但是,当我通过openFileInput()读取它时,我得到一个异常,告诉我不允许路径分隔符

FileInputStream fis = openFileInput(getCacheDir() + "/cachefile");
Run Code Online (Sandbox Code Playgroud)

很公平,它包含一个斜杠,但我怎么能指定我想要打开的文件的路径?当然,必须有办法做到这一点,但我无法通过谷歌找到答案("阅读","缓存"和"文件"不是最常用的术语......)所以我想我会尝试人性化.提前致谢!

android android-file

5
推荐指数
1
解决办法
1万
查看次数

TELEPHONY_SERVICE常量在一个类中未被识别,但在另一个类中

这感觉非常像另一个没有看到树林的情况.

我为我的应用程序编写了一个小的(非扩展)类,目前只包含一个方法来抓取提供的URL并返回一个字符串.我希望在查询字符串的末尾包含设备ID,因此添加了以下行:

import android.telephony.TelephonyManager;
import android.content.Context;
...
TelephonyManager m_tmgr = (TelephonyManager) getSystemService(TELEPHONY_SERVICE);
Run Code Online (Sandbox Code Playgroud)

然而,根据Eclipse,TELEPHONY_SERVICE常量"无法解析为变量".如果我将这些行复制并粘贴到包中的另一个类中(所有其他类都是活动,目前可能与它有关?),一切正常.

我错过了哪些非常明显的事情?

java android

3
推荐指数
1
解决办法
3982
查看次数

标签 统计

android ×2

android-file ×1

java ×1