我在txt文件上有成千上万的句子,我的第一个Android应用程序应该从那里拿一个并将它放在textView上。
我可以将txt文件作为资源,或者尝试获取所有句子并将其转换为数组。我不想将我的txt放入应用程序,而是直接将数组与句子放在一起。我怎样才能自动将数千个句子“翻译”成类似数组的列表呢?
答案 0 :(得分:1)
不要重新发明轮子......这是一个单线:
import org.apache.commons.io.IOUtils;
List<String> sentences = (List<String>)IOUtils.readLines(new FileInputStream("filename.txt"));
答案 1 :(得分:0)
如果您知道每个项目只有一个句点,那么您就可以分开。如果你不能这样做但可以使用换行符,那就使用它。
final String blob = "Quote 1. Quote2. Quote '3'.";
String[] quotes = blob.split('\\.');
> ["Quote 1", "Quote2", "Quote '3'"];
OR
final String blob = "Quote 1.\nQuote 2 longer.";
String[] quotes = blob.split("\n");
> ["Quote 1.", "Quote 2 longer."]
答案 2 :(得分:0)
听起来您想将文本文件放在资源文件夹中,然后使用BufferedReader读取它。
根据文本文件的内容,您可以逐行读取文本并将其添加到数组中,或者您可以将整个文件作为字符串读取并使用.split(),这将返回一个字符串数组供您使用。
答案 3 :(得分:0)
i guess this is what u dont want to do...
//InputStream is = getResources().openRawResource(R.raw.list);
所以获取一个InputStream对象并使用以下代码
List<String> content=new ArrayList<String>();
InputStreamReader isr = new InputStreamReader(is);
linereader = new LineNumberReader(isr);
for (int i = 0; i < num; i++) { // num is total no of lines in file
try {
line = linereader.readLine();
content.add(line);
}
catch (IOException e)
{
e.printStackTrace();
}
}// for ends