【问题标题】:Eclipse (simulator Android tablet) File Not Found even though file existsEclipse(模拟器Android平板电脑)即使文件存在也找不到文件
【发布时间】:2013-03-04 09:31:17
【问题描述】:

我正在尝试读取文件。 我不介意地点,所以我尝试了各种地点和方法:

File file = new File("DFirstPdf.pdf");
File file = new File("C:/DFirstPdf.pdf");
File file = new File("C:\\DFirstPdf.pdf");

但我总是得到那个文件不存在。我正在使用 Eclipse 和模拟器工作,但我没有更多的想法。

我想做的是: 如果(文件。存在()) { Uri 路径 = Uri.fromFile(file); Intent 意图 = new Intent(Intent.ACTION_VIEW); intent.setDataAndType(路径,“应用程序/pdf”); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

PackageManager pm = getPackageManager();

List<ResolveInfo> activities = pm.queryIntentActivities(intent, 0);

if (activities.size() > 0) 
{
startActivity(intent);
}
else
{
// Do something else here. Maybe pop up a Dialog or Toast
}

【问题讨论】:

    标签: android eclipse-rcp simulator file-not-found


    【解决方案1】:

    你必须使用类加载器来获取资源

    PackageManager.class.getClassLoader().getResource("DFirstPdf.pdf");

    【讨论】:

    • 我做了以下代码 File file = new File((PackageManager.class.getClassLoader().getResource("D://DFirstPdf.pdf").toURI()));和文件 file = new File((PackageManager.class.getClassLoader().getResource("DFirstPdf.pdf").toURI()));但我得到一个 Null Pinter 异常,我将文件存储在哪里?谢谢
    【解决方案2】:

    模拟器有自己的文件系统。它不会在您的机器上看到文件。而且它有一个 UNIX 风格的路径,而不是 Windows 风格的。

    【讨论】:

    • 那么,我怎样才能得到一个file.PDF,我可以在哪里存储它,然后加载它?还有其他建议吗?
    • 将其加载到您的 apk 中,或者如果您不希望所有用户都拥有该文件(例如,它是一个测试文件),请使用 adb push 将其放在您的模拟器上。您的应用可以将其保存到模拟器的模拟内部或外部存储中。
    • 这是个好主意,但是,对不起,我该怎么做,它是一个测试文件,我不介意所有用户都有它。
    猜你喜欢
    • 1970-01-01
    • 2018-04-17
    • 1970-01-01
    • 2014-02-20
    • 1970-01-01
    • 1970-01-01
    • 2015-11-23
    • 2015-10-26
    • 1970-01-01
    相关资源
    最近更新 更多