当前位置: 首页 > 面试题库 >

通过txt文件将对象创建为Java中的数组

吴凯
2023-03-14
问题内容

我正在尝试完成一个小程序。

我有一个文本文件(.txt),用于在我拥有的对象上存储不同的数据。

下一个是文件的结构(例如data.txt):

* Shikotan
*2005
* 195000
*Diesel engine
*Blue
*Off road vehicle
*2013
* 34000
*Gasoline
*Black

每个对象都由我建立的称为Cars的类实现。因此,第一行是汽车的类型,第二年是建造年份,第三行是里程,第四行是燃料类型,第五行是汽车的颜色。

因此,基本上,我需要打开文件,然后在将程序执行到带有对象的数组中时将数据加载到内存中。

我可以打开该文件,但是在读取数据并将其放入数组时被阻止。

这个例子的数组大小是2,但是如果我在文件中有更多条目,它将在程序启动时加载时适应它的大小。

这是我现在得到的(用于我的代码…)

public static void loadCars () {
    FileReader fopen;
    BufferedReader opened;
    String line;

    try {
        fEntree = new FileReader( "data.txt" );
        opened = new BufferedReader( fopen );
        while ( opened.ready() ) {
            line = opened.readLine();
            // Don't know what to do here ????
        }
        opened.close();
    } catch ( IOException e ) {
        System.out.println( "File doesn't exist !" );
    }

}

问题答案:

LineNumberReader lnr = new LineNumberReader(new FileReader(new File(“File1”)));
lnr.skip(Long.MAX_VALUE);

long length = lnr.getLineNumber();

lnr.close();

in = new BufferedReader(new FileReader( "data.txt" ));

Car[] cars= new Car[length/5];
String currentLine;
int i=0;

for(int i=0;i<length/5;i+=5) {
    String name = in.readLine();
    String year = in.readLine();
    String miles = in.readLine();
    String gas = in.readLine();
    String color = in.readLine();
    cars[i] = new Car(name,year,miles,gas,color);
}

您还必须处理异常,将try catch结构中的内容包围起来。



 类似资料:
  • 我需要一些帮助:我正在做一个在Java的飞行花名册模拟。名册将容纳25名乘客,其中22名来自文本文件(passengerlist.txt)。对于每个乘客,有3个必需的数据点;姓名、座位等级和座位号和2个可选数据点数常旅客号码和常旅客点数。每个乘客都在自己的线路上,每个数据点都用逗号隔开。例如: 我有这个类,到目前为止还有构造函数: 我需要做的是从文本文件中读取每一行并创建数组,即使第一个look行

  • 本文向大家介绍Java 对象的创建过程?相关面试题,主要包含被问及Java 对象的创建过程?时的应答技巧和注意事项,需要的朋友参考一下 下图便是 Java 对象的创建过程,我建议最好是能默写出来,并且要掌握每一步在做什么。 Step1:类加载检查 虚拟机遇到一条 new 指令时,首先将去检查这个指令的参数是否能在常量池中定位到这个类的符号引用,并且检查这个符号引用代表的类是否已被加载过、解析和初始

  • 问题内容: 在Java中创建文件对象时,如何将文件权限设置为777(或任何其他任意权限)? 问题答案: 如果在启动JVM之前将设置为,则将对所有人创建具有所有权限的所有创建的文件和目录。这 可能是 一个坏主意。 创建文件后,可以使用,API来修改模式位。如果您授予权限,那通常就足够了;如果您要尝试 删除 其他用户的权限,则可能应该从一开始就非常严格地设置权限。(在启动JVM之前,然后将权限添加到您

  • 问题内容: 我正在尝试将整数数组快速存储到磁盘。我可以将它们放到NSData对象中进行存储,但是很难将它们放回到数组中。我可以使用来获取数据的原始数据,但是找不到用该指针初始化新的swift数组的方法。有人知道怎么做吗? 问题答案: 您可以使用以下方法: Swift 3(Xcode 8)的更新: Swift 3具有一个新类型 ,该类型是具有正确值语义的包装器。访问器方法略有不同。 数组到数据: 数

  • 我需要创建一个对象(银行),其中包含一组客户端和bankID。我的问题是,我不知道如何在主函数中创建银行。 银行类别: 客户端类: 主要类别: 这些是问题所在: 你必须创建一个程序来模拟银行活动。该系统包括以下模块:银行—客户(客户数组)— idBank(字符串)5 BancAccount — accountNumber(字符串)—金额(浮点)客户—姓名(字符串)—地址(字符串)—账户(银行账户数

  • 问题内容: 当前,当浏览器浏览器浏览到网页时,我正在运行一个php脚本。我想做的是在脚本运行时编写一个存储变量的文本文件。文件夹的所有者是apache,但每个人都具有读写功能,严格出于测试目的。(我认为这可能是权限问题)服务器上启用了SELINUX,当我从控制台运行脚本时,它会在正确的目录中很好地创建文本文件。 我正在使用此行尝试编写和创建文本文件,我知道我的文件位置可以正常运行,因为我可以在脱机