当前位置: 首页 > 知识库问答 >
问题:

Java-读取文本文件,将内容存储在ArrayList中,打印ArrayList

弘承运
2023-03-14

我必须写一个程序:

  1. 提示用户输入输入文件的名称,
  2. 从输入文件中读取数据,并将有关汽车的信息存储在汽车对象数组列表中,
  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()方法)。

共有1个答案

萧鸿轩
2023-03-14

我认为您只输入要读取的文件的名称(例如,foo.txt)。如果是这种情况,那么您不应该将它按原样传递给new File()构造函数,因为该构造函数需要一个绝对路径(或相对于正在执行的JVM的路径),所以您应该在提示符中的文件名后面输入完整的绝对文件路径(例如/home/user/foo.txt或C:\documents\foo.txt)。

如果不是这样,首先应该将提示符中输入的路径打印到变量userfilename中,以查看路径是否正确。

我建议您在使用该路径创建文件实例后,检查它是否存在,以及它是否可以通过其exists()canread()实例方法读取。

 类似资料:
  • 问题内容: 我知道如何使用和File IOException 读取文件,但是我唯一不知道的是如何将文本作为数组存储在文件中。 这是我的代码: 这是我的文件包含的内容: 问题答案: 存储为字符串: 对于花车:

  • 问题内容: 我有一个名为的文本文件,其内容如下: 这个 是 文本 我将如何在Java 7中将确切的文件打印到屏幕上? 问题答案: 在Java 7之前: 添加异常处理 添加关闭流 从Java 7开始,无需关闭流,因为它实现了

  • 假设序列化。bin是一个充满单词的文件,在序列化时是ArrayList 我希望能够反序列化“serialise.bin”文件并将内容存储在ArrayList中

  • 我想存储以下格式的文本文件的内容: 第一行包含两个整数,比如n和k,用空白分隔。 下面的行包含n个整数(n可以很大)(我希望将其存储在ArrayList中) 通过在网上搜索Java的文件处理方式,我了解到了BufferedReader是处理大输入的首选方式,因为它更快(与扫描器相比),也了解了如何处理。我的尝试如下: 因为我知道第一行只包含2个数字,所以我读取该行,将其转换为大小为2的字符串数组,

  • } PS,arrayList中的内容插入到程序中的某个点,因此arrayList不是空的。

  • 问题内容: 有什么方法可以读取文本文件并将内容存储在Jtable中?我有一个文本文件,其中包含有关某些过程的某些信息。就像一个具有列和各自值的表。是否可以获取.txt文件的内容并以Jtable的形式显示?我正在使用Eclipse和Window Builder。任何帮助将不胜感激。谢谢! 问题答案: 我将研究Oracle的教程: 读/写文本文件 JTable教程 当从文本文件中获取数据时,您需要将其