如何在android studio中导入一个txt文件并将其用作字符串?

时间:2016-01-29 20:20:07

标签: android android-studio

我想在android studio中使用非常长的文本(大约70页)。首先是一种在android studio代码中放入我的主要活动的方法? 或者我如何导入它并将其用作字符串?

例如:

String deey = "my long text";

所以我无法使用它。我想将它添加到我的程序并将其用作字符串。 我把它放到资产文件夹中。但我无法使用它。

2 个答案:

答案 0 :(得分:0)

将其放入资源并使用以下功能阅读。

public String readFromAssets(String fileName, Context context) {
        StringBuilder returnString = new StringBuilder();
        InputStream fIn = null;
        InputStreamReader isr = null;
        BufferedReader input = null;
        try {
            fIn = context.getResources().getAssets()
                    .open(fileName, Context.MODE_WORLD_READABLE);
            isr = new InputStreamReader(fIn);
            input = new BufferedReader(isr);
            String line = "";
            while ((line = input.readLine()) != null) {
                returnString.append(line);
            }
        } catch (Exception e) {
            e.getMessage();
        } finally {
            try {
                if (isr != null)
                    isr.close();
                if (fIn != null)
                    fIn.close();
                if (input != null)
                    input.close();
            } catch (Exception e2) {
                e2.getMessage();
            }
        }
        return returnString.toString();
    }

因此,在您的代码中,您将字符串初始化为

String longString = readFromAssets("helloworld.txt",mContext);

答案 1 :(得分:0)

您可以从AssetManager调用opne()方法获取InputStream。

   public static String getReadTextFromAssets(Context context, String textFileName) {
        String text;
        StringBuilder stringBuilder = new StringBuilder();
        InputStream inputStream;
        try {
            inputStream = context.getAssets().open(textFileName);
            BufferedReader bufferedReader =
                    new BufferedReader(new InputStreamReader(inputStream, "UTF-8"));
            while ((text = bufferedReader.readLine()) != null) {
                stringBuilder.append(text);
            }
            bufferedReader.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return stringBuilder.toString();
    }

将您的文件保存在资源文件夹中。