将文本文件读入String数组,然后转换为ArrayList

时间:2015-04-05 23:44:18

标签: java arrays arraylist filereader

如何将文件读入String []数组,然后将其转换为ArrayList?

我不能立即使用ArrayList,因为我的列表类型不适用于参数(String)。

所以我的教授告诉我把它放入一个String数组中,然后转换它。

我很难过,因为我还是Java新手,所以无法理解我的生活。

2 个答案:

答案 0 :(得分:0)

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

/**
 * Created by tsenyurt on 06/04/15.
 */
public class ReadFile
{
    public static void main(String[] args) {

        List<String> strings = new ArrayList<>();
        BufferedReader br = null;

        try {

            String sCurrentLine;

            br = new BufferedReader(new FileReader("/Users/tsenyurt/Development/Projects/java/test/pom.xml"));

            while ((sCurrentLine = br.readLine()) != null) {
                System.out.println(sCurrentLine);
                strings.add(sCurrentLine);
            }

        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                if (br != null)br.close();
            } catch (IOException ex) {
                ex.printStackTrace();
            }
        }

    }
}

有一个代码可以读取文件并从中创建一个ArrayList

http://www.mkyong.com/java/how-to-read-file-from-java-bufferedreader-example/

答案 1 :(得分:0)

有很多方法可以做到这一点, 如果您希望文件中存在每个单词的列表

,则可以使用此代码
public static void main(String[] args) {
    BufferedReader br = null;
    StringBuffer sb = new StringBuffer();
    List<String> list = new ArrayList<>();
    try {

        String sCurrentLine;

        br = new BufferedReader(new FileReader(
                "Your file path"));

        while ((sCurrentLine = br.readLine()) != null) {
            sb.append(sCurrentLine);
        }
        String[] words = sb.toString().split("\\s");
        list = Arrays.asList(words);

    } catch (IOException e) {
        e.printStackTrace();
    } finally {
        try {
            if (br != null)
                br.close();
        } catch (IOException ex) {
            ex.printStackTrace();
        }
    }
    for (String string : list) {
        System.out.println(string);

    }
}