gpt4 book ai didi

Java : Read data from txt to String[][]

转载 作者:行者123 更新时间:2023-11-29 05:29:09 25 4
gpt4 key购买 nike

我的问题是,我有一个如下所示的 txt 文件:

CA-ADAPT-BAT18AH;CABLE ADAPTATION POUR CHARGER BATTERIE 18Ah

OP-CBL-PX738;CABLE TM 220V BUL 738 4.5M

OP-PAN-CABLE-Y;CABLE Y POUR PIV MINI & MAXI (1 FEM - 2 MAL)

OP-PAN-DATA;Câble datacom

OP-TMSSA-DATA;Câble datacom

OP-SOL-CABLE-1;CABLE POUR PANNEAU SOLAIRE : BOITIER VERS PIV

每行有2条信息,用“;”隔开

在我的 java 代码中,我有一个类似“String[][] info = new String[25][2];”的 var

我只想读取整个文件并将第一行的第一个信息放在 info[0][0] 中,将第一行的第二个信息放在 info[0][1] 中。并对文件的其余数据执行相同的过程。

这是我的代码:

public class Function {

public static String[][] getCable() throws FileNotFoundException {

String delim = ";";
String line = null;
String[][] info = new String[25][2];
String[] temp;
int i = 0,j = 0,a = 0,b = 0;

String filePath = "C:/Users/ogh/Desktop/Appli Java/cable.txt";
Scanner scanner = new Scanner(new File(filePath));

for (i = 0; i < 25; i++){
for (j = 0; j < 2; j++){
if (j == 0) info[i][j] = "ID : ";
if (j == 1) info[i][j] = "Descr. : ";
}
j = 0;
}

while (scanner.hasNextLine()) {
line = scanner.nextLine(); // get 1 line
temp = line.split(delim); // split that line in 2 with ";"
info[b][a] = info[b][a] + temp[a];
info[b][a+1] = info[b][a+1] + temp[a+1];

if (a >= 1) {
a = 0;
b++;
}
}

scanner.close();

for (i = 0; i < 25; i++){
System.out.println(i+ "-> Info :"+ info[i][0]+"\t"+info[i][1]);
}

return info;
}

public static void main(String args[]) throws Throwable {
getCable();
}
}

我得到的输出:所有 ID 都在 info[0][0] 中,所有描述都在 info[0][1] 中

谢谢。

最佳答案

您没有递增 b。你的陈述

if (a >= 1) {
a = 0;
b++;
}

永远不会被执行,因为 a 永远不会 >=1。你甚至不需要那个 if 语句。只需将其替换为 b++ 即可在 while 循环的每次迭代中转到下一行。

关于Java : Read data from txt to String[][],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21721658/

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