[英]Storing file in java using arraylist
我正在讀取文件,並希望將其保存在數組列表中,以便能夠在另一個類中調用此方法以供以后使用。 這是我的代碼:
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();
}
}
}
我在fileList.add(CurrentLine);處收到錯誤。 我知道這是因為CurrentLine與ReadFile不匹配。
我該如何進行這項工作?
謝謝。
< ... >
括號中的參數指定列表中存儲的元素的類型 。 在這種情況下,您要存儲String
對象。 所以應該
ArrayList<String> fileList = new ArrayList<String> ();
您可以更換
ArrayList <ReadFile> fileList = new ArrayList <ReadFile>();
通過
List <String> fileList = new ArrayList <>();
以JDK 7樣式
嘗試使用ArrayList<String>
fileList而不是ArrayList<ReadFile>
您聲明了一個存儲ReadFile
的arraylist,但是要向該列表添加一個String
,這會導致此異常。 從List<String>
類型創建另一個List並將文件內容存儲在那里。
CurrentLine
類型為String
, fileList
應該為:
ArrayList<String> fileList = new ArrayList<String>();
您的arrayList類型為ReadFile。 因此,它希望您添加ReadFile類型的元素。 您需要將其更改為String。
ArrayList<ReadFile> fileList = new ArrayList<ReadFile> ();
至
ArrayList<String> fileList = new ArrayList<String> ();
由於您使用<ReadLine>
聲明了ArrayList
,因此ArrayList
只能保存ReadFile
類型的對象。
Change your ReadFile class to something like
Class ReadFile {
String line;
ReadFile(String currentLine){
this.line = currentLine;
}
}
那你可以做
fileList.add(new ReadFile(CurrentLine));
您必須提供String而不是readfile。 因為在這里您的列表需要讀取文件。
ArrayList list = new ArrayList();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.