gpt4 book ai didi

java - 如何从 Java 中的 .dat 文件中读取一行然后需要将其分开?

转载 作者:行者123 更新时间:2023-11-30 06:56:36 24 4
gpt4 key购买 nike

我正在尝试在 TextPad 中使用 Java 读取 .dat 文件。 .dat 文件有多行代码,但每一行都有单独的信息片段,我需要这些信息用于我的主要方法和对象类中的不同方法。如何分离文件中提供的信息并将分离的部分输入到我的任何类中?

我知道如何从 .t​​xt 文件读取基本输入,但它不适用于 .dat 文件。我不知道如何分隔没有逗号的数据,并且我不允许更改.dat 文件中的数据。

在 TextPad 中查看 .dat 文件时,它显示为标准字符,而不是二进制字符。我正在尝试阅读的代码如下:

1001简介。 CompSci 4ALBERT, PETER A. Comp 信息系统 A
1001简介CompSci 4ALLENSON, SHEILA M. Comp 信息系统 B
1001简介CompSci 4ANDERSON, ALENE T. Comp Info System A
1001简介到 CompSci 4HENDRIX,JAMES D. Lib Arts - MIS C
1001简介CompSci 4CANNON, FREDDY B.B. Comp Info System B
1002Visual Basic 3ALBERT, PETER A. Comp Info System C
1002Visual Basic 3ALLENSON, SHEILA M. Comp Info System D
1002Visual Basic 3ANDERSON, ALENE T. Comp 信息系统 A
1002Visual Basic 3HENDRIX,JAMES D. Lib Arts - MIS B
1002Visual Basic 3CANNON, FREDDY B.B. Comp Info System B
1003Cisco 网络 I 4ALBERT, PETER A. Comp Info System C
1003 思科网络 I 4ALLENSON, SHEILA M. Comp Info System A
1003Cisco 网络 I 4ANDERSON, ALENE T. Comp Info System A
1003Cisco 网络 I 4HENDRIX,JAMES D. Lib Arts - MIS D
1004Cisco Networking III3ALBERT, PETER A. Comp Info 系统 B
1004Cisco Networking III3ALLENSON, SHEILA M. Comp Info System C
1004Cisco Networking III3ANDERSON, ALENE T. Comp Info System A
1004Cisco Networking III3CANNON, FREDDY B.B. Comp Info System B
1004Cisco Networking III3HELLER,HELEN H. Lib Arts - MIS A
1004Cisco Networking III3HENDRIX,JAMES D. Lib Arts - MIS F

下面以上面的第 1 行为例,对各个信息进行了标记:

CourseID CourseName Credits StudentName Major Grade

1001简介。到 CompSci 4ALBERT, PETER A. Comp Info System A

最佳答案

注意:此答案假定每一列都是确定的长度(4 位类(class) ID、20 个字符的类(class)名称、1 位学分、20 个字符的学生姓名、20 个字符的专业, 一位数等级)

首先,您需要获取文件中每一行的列表。

String[] lines = Files.readAllLines(new File("myfile.dat").toPath()).toArray(new String[0]);

接下来,使用 substring() 方法处理每一行:

for(String line: lines) {
int courseId = Integer.parseInt(line.substring(0, 4));
String studentName = line.substring(4, 24).trim();
// etc...
}

trim() 函数删除尾随空格。

关于java - 如何从 Java 中的 .dat 文件中读取一行然后需要将其分开?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34258810/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com