I am reading a file and want to save it in an array list to be able to call this method in another class for later use. Here's my code:
package com.qmul.rfid.reader;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
public class ReadFile {
public static void main(String[] args) {
ArrayList<ReadFile> fileList = new ArrayList<ReadFile> ();
try (BufferedReader br = new BufferedReader(new FileReader("C:\\tagNo.txt")))
{
String CurrentLine;
while ((CurrentLine = br.readLine()) != null) {
System.out.println(CurrentLine);
fileList.add(CurrentLine);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
I get an error at fileList.add(CurrentLine);. I know this is because CurrentLine does not match with ReadFile.
How can I make this work?
Thank you.
The parameters in the < ... >
brackets specify the type of the elements stored in the list. In this case, you want to store String
objects. So it should be
ArrayList<String> fileList = new ArrayList<String> ();
You could replace
ArrayList <ReadFile> fileList = new ArrayList<ReadFile> ();
by
List<String> fileList = new ArrayList<>();
in JDK 7 style
尝试使用ArrayList<String>
fileList而不是ArrayList<ReadFile>
You declared an arraylist that stores ReadFile
but you want to add a String
to the list which causes this exception. Create another List from type List<String>
and store the file content there.
CurrentLine
类型为String
, fileList
应该为:
ArrayList<String> fileList = new ArrayList<String>();
Your arrayList is of type ReadFile. So it expects you to add elements of type ReadFile. What you need is change it to String.
ArrayList<ReadFile> fileList = new ArrayList<ReadFile> ();
to
ArrayList<String> fileList = new ArrayList<String> ();
Your ArrayList
can hold objects of type ReadFile
only, since you declared your ArrayList
using <ReadLine>
Change your ReadFile class to something like
Class ReadFile {
String line;
ReadFile(String currentLine){
this.line = currentLine;
}
}
Then you can do
fileList.add(new ReadFile(CurrentLine));
You have to provide String instead of readfile. because here your list is expecting readfile.
ArrayList list = new ArrayList();
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.