我想在android studio中使用非常长的文本(约70页)。首先是一种将我的主要活动放入android studio代码中的方法? 或者我如何导入并将其用作字符串?如何在android studio中导入txt文件并将其用作字符串?
例如:
String deey = "my long text";
,所以我不能使用它。我想将它添加到我的程序中并将其用作字符串。 我把它放到资产文件夹中。但我无法使用它。
我想在android studio中使用非常长的文本(约70页)。首先是一种将我的主要活动放入android studio代码中的方法? 或者我如何导入并将其用作字符串?如何在android studio中导入txt文件并将其用作字符串?
例如:
String deey = "my long text";
,所以我不能使用它。我想将它添加到我的程序中并将其用作字符串。 我把它放到资产文件夹中。但我无法使用它。
将它放入资产并使用下面的函数进行阅读。
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);
您可以从AssetManager获得的InputStream调用opne()方法。
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();
}
将文件保留在资产文件夹中。
请注意你应该AsyncTask来执行这些操作,否则你的主UI块。并检查如何从资产 –
在android中读取文本文件请注意,您应该AsyncTask执行这些操作,否则您的主UI块。并检查如何从资产中读取Android中的文本文件 –