簡體   English   中英

Java-讀取文本文件,將內容存儲在ArrayList中,打印ArrayList

[英]Java - Read Text File, Store Contents in ArrayList, Print ArrayList

我必須編寫一個程序:

  1. 提示用戶輸入文件的名稱,
  2. 從輸入文件中讀取數據,並將有關汽車的信息存儲在Car對象的數組列表中,
  3. 將數組列表中未排序的數據打印到屏幕上,如下所示:
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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM