【问题标题】:How to import a text file into Activity如何将文本文件导入 Activity
【发布时间】:2016-04-20 13:06:57
【问题描述】:

我有带有字符串和整数的 .txt 文件,例如(非常简化):

String Q1 = "aflasjke";
String Q2 = "agdsgsdg";
String Q3 = "asdgdsgn";

String Q1_1 = "sgadg";
String Q1_2 = "agajgsdgn";
String Q1_3 = "sdgjsdgj";

int M1 = 1;
int M2 = 2;
int M3 = 4;

我的 MainActivity 中需要这些字符串和 int。我怎样才能“导入/读取”它们?

谢谢!

【问题讨论】:

  • 听起来你需要把你的.txt文件改成一个类。
  • 如果它是那种格式,你需要编写一个解析器。要么按照上面的建议,要么让它成为一个类。如果您继续处理文件,您可能需要考虑使用 JSON 或 XML,因此您已经内置了解析器,而不是自己做所有事情。
  • 将其更改为类文件的想法目前适用于此问题,谢谢!

标签: android input import text-files


【解决方案1】:

下面这两种方法可以帮到你

编辑

这里你可以从 SDCard 读取文件

public static String getStringFromFile (String filePath) throws Exception {
    File dir = Environment.getExternalStorageDirectory();
    File fl = new File(dir, "path/to/the/file/inside/the/sdcard.ext");
    FileInputStream fin = new FileInputStream(fl);
    String ret = convertStreamToString(fin);
    //Make sure you close all streams.
    fin.close();        
    return ret;
}

这里有你上面得到的文件中的字符串

public static String convertStreamToString(InputStream is) throws Exception {
    BufferedReader reader = new BufferedReader(new InputStreamReader(is));
    StringBuilder sb = new StringBuilder();
    String line = null;
    while ((line = reader.readLine()) != null) {
      sb.append(line).append("\n");
    }
    reader.close();
    return sb.toString();
}

并为您的清单添加正确的权限

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

我在这个答案中找到here

【讨论】:

  • 那我该如何使用这个文件呢?那么,如何从 txt 中获取字符串?
  • @PatrickCzerwinski 我编辑了我的答案,我还添加了一个你可以完美运行的代码,请帮助你将我的答案添加为已接受,谢谢。
猜你喜欢
  • 2015-11-12
  • 1970-01-01
  • 1970-01-01
  • 2015-10-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多