我对Java很陌生,所以我在解决这个问题时遇到了一些麻烦。所以基本上我有一个看起来像这样的文本文件:
1:John:false
2:Bob:false
3:Audrey:false
如何从文本文件中为每一行创建一个ArrayList?
答案 0 :(得分:7)
从文件中读取并将每行添加到arrayList中。例如,请参阅代码。
public static void main(String[] args) {
ArrayList<String> arr = new ArrayList<String>();
try (BufferedReader br = new BufferedReader(new FileReader(<your_file_path>)))
{
String sCurrentLine;
while ((sCurrentLine = br.readLine()) != null) {
arr.add(sCurrentLine);
}
} catch (IOException e) {
e.printStackTrace();
}
}
答案 1 :(得分:1)
如果您知道如何逐行读取文件,可以使用Scanner或使用BufferedReader,那么将文本文件读入ArrayList并不困难。您需要做的就是读取每一行并将其存储到ArrayList中,如以下示例所示:
BufferedReader bufReader = new BufferedReader(new
FileReader("file.txt"));
ArrayList<String> listOfLines = new ArrayList<>);
String line = bufReader.readLine(); while (line != null)
{
listOfLines.add(line);
line = bufReader.readLine();
}
bufReader.close();
请记住在完成后关闭BufferedReader以防止资源泄漏,因为您没有尝试使用资源声明
答案 2 :(得分:0)
虽然我上面的答案有效,但这是另一种方法。确保导入java.util.Scanner。
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<String>();
Scanner scan = new Scanner("YOURFILE.txt");
while(scan.hasNextLine()){
list.add(scan.nextLine());
}
scan.close();
}
答案 3 :(得分:0)
这对你有帮助。
List<String> list = new ArrayList<String>();
BufferedReader reader = new BufferedReader(new FileReader("list.txt"));
String line;
while ((line = reader.readLine()) != null) {
list.add(line);
}
reader.close();
然后你可以访问arraylist中的那些元素。
答案 4 :(得分:0)
java 8允许你这样做
String fileName = "c://lines.txt";
List<String> list = new ArrayList<>();
try (Stream<String> stream = Files.lines(Paths.get(fileName))) {
list = stream
.map(String::toUpperCase)
.collect(Collectors.toList());
} catch (IOException e) {
e.printStackTrace();
}
list.forEach(System.out::println);