![](/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.