我想在android studio中使用非常长的文本(大约70页)。首先是一种在android studio代码中放入我的主要活动的方法? 或者我如何导入它并将其用作字符串?
例如:
String deey = "my long text";
所以我无法使用它。我想将它添加到我的程序并将其用作字符串。 我把它放到资产文件夹中。但我无法使用它。
答案 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();
}
将您的文件保存在资源文件夹中。