![](/img/trans.png)
[英]How to read file into an Arraylist and print the ArrayList in Java
[英]Java - Read Text File, Store Contents in ArrayList, Print ArrayList
我必須編寫一個程序:
Enter the name of the input file -> carlot.txt
The Unsorted Array List of Cars
[Honda, Prelude, 1998]
[Honda, Accord, 1998]
[Honda, Ridgeline, 2006]
[Ford, Taurus, 1996]
[Mitsubishi, Eclipse, 1996]
[Mitsubishi, Galant, 2015]
[Ford, Fusion, 2010]
[Mazda, Protege 5, 2003]
[Mazda, Protege 5, 2002]
[Isuzu, Trooper, 2002]
我無法弄清楚如何執行前三個步驟。
我的代碼:
package carsorter;
import java.util.*;
import java.io.*;
public class CarSorter
{
public static void main(String[] args)
{
try
{
String userFileName;
Scanner in = new Scanner(System.in);
System.out.print("Enter the name of the input file - > ");
userFileName = in.next();
System.out.println();
Scanner file = new Scanner(new File(userFileName));
ArrayList<Car> list1 = new ArrayList<>();
while (file.hasNext())
{
list1.add(new Car(file.nextInt(), file.next(), file.next()));
}
Car[] list2 = list1.toArray(new Car[list1.size()]);
System.out.println("The Unsorted Array List of Cars");
int i;
for (i=0; i < list1.size(); i++)
{
System.out.println(list1.get(i));
}
System.out.println();
}
catch (IOException e)
{
System.out.println(e);
}
}
}
即使我剛創建文件並將其保存到計算機中,它也為我提供了在編譯程序時找不到文件的異常。
我也有兩個與此項目一起使用的類,如果需要/需要,將添加它們。 所以基本上只需要幫助弄清楚如何從用戶讀取文本文件,將文本文件的內容添加到ArrayList並以格式化的方式打印出ArrayList的內容(我有一個toString()方法我的課程)。
我想您只輸入要讀取的文件的名稱 (Ej。foo.txt)。 如果是這種情況,則您不應按原樣將其傳遞給new File()
構造函數,因為該構造函數需要一個絕對路徑(或相對於正在執行的JVM的路徑),因此您應在該路徑之后輸入完整的絕對文件路徑。提示中的文件名(例如/home/user/foo.txt或c:\\ documents \\ foo.txt)。
如果不是這種情況,則首先應將在提示中輸入的路徑打印到變量userFileName
以查看該路徑是否正確。
我建議你在創建后File
的路徑例如,你檢查它是否存在,如果它可以通過它來讀取exists()
和canRead()
實例方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.