1

我在一个 txt 文件中有数千个句子,我的第一个 Android 应用程序应该从那里取出一个并将其放在 textView 上。

我可以将 txt 文件作为资源,或者尝试获取所有句子并将其转换为数组。我不想将我的 txt 放入应用程序中,而是直接将句子放入数组中。我怎样才能自动将数千个句子“翻译”成类似数组的列表?

4

4 回答 4

1

不要重新发明轮子......这是一个单行:

import org.apache.commons.io.IOUtils;

List<String> sentences = (List<String>)IOUtils.readLines(new FileInputStream("filename.txt"));
于 2012-05-25T01:38:38.600 回答
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
于 2012-05-25T04:46:20.470 回答
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."]
于 2012-05-25T01:11:26.217 回答
0

听起来您想将文本文件放在资源文件夹中,然后使用 BufferedReader 读取它。

根据文本文件的内容,您可以逐行读取文本并将其添加到数组中,或者您可以将整个文件作为字符串读取并使用 .split(),这将返回一个数组字符串供您使用。

于 2012-05-25T01:17:21.313 回答