【问题标题】:Trouble getting absolute path and opening file in Android Studio在 Android Studio 中获取绝对路径和打开文件时遇到问题
【发布时间】:2015-09-27 01:22:50
【问题描述】:

我正在尝试在 Android Studio 中打开一个文件。我创建了一个具有路径的资产文件夹:

app_name\app\src\main\assets\file.csv

当我尝试使用

打开它时
FileReader file = new FileReader("assets/PlayerDB.csv");

我收到一个错误,即找不到文件。为了尝试找出获取文件的根目录的位置,我使用了以下内容:

File f = new File("test/test.txt");
String Path = f.getAbsolutePath();
Log.v("File Path",Path);

但是,这只是将“test/test.txt”打印到日志中。关于如何获得工作的绝对路径以及如何从资产文件夹打开文件的任何想法?

谢谢!

【问题讨论】:

  • 资产在运行时不是文件,所以没有文件路径可供获取。

标签: java android file path filereader


【解决方案1】:

将您的 PlayerDB.csv 文件放在 Android 项目下的 /assets 目录中。使用 AssetManager 类来访问它。

AssetManager am = context.getAssets();
InputStream is = am.open("PlayerDB.csv");

如果你在片段中使用它

AssetManager am = getActivity().getAssets();
InputStream is = am.open("PlayerDB.csv");

【讨论】:

    【解决方案2】:

    简单来说

    getAssets().open("file.csv");
    

    【讨论】:

    • 我在尝试此操作时收到“无法解析符号 getAssets”错误。有什么想法吗?
    • getAssets() 是 Context 上的一个方法。如果您在片段中调用它,请尝试 getActivity().getAssets().open("file.csv")。
    • 这仍然给我错误:'FileReader file = getActivity().getAssets().open("PlayerDB.csv");' “未处理的异常 java.io.ioexception”
    • 捕捉异常找出原因。尝试 {...} catch (Exception e) { Log.d("FOOBAR", e.toString() };
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-27
    • 2012-09-24
    • 1970-01-01
    相关资源
    最近更新 更多