gpt4 book ai didi

java以随机顺序读取文本文件列标题

转载 作者:行者123 更新时间:2023-12-02 04:52:10 24 4
gpt4 key购买 nike

我每天都会收到一个文件:

  • 以刺字分隔
  • 有 5 列或更多列
  • 有 3 个公共(public)列 - 姓氏、名字、地址

问题:文件的列顺序经常变化

目标:打印姓氏、名字、地址的列数据,无论列顺序如何

我一直在使用以下代码并手动更改数据值以匹配列。

testfile1.txt
1st day file format
ID lastName address phone firstName
45 Gates 111 some lane 777-888-9999 Bill

2nd day file format
address ID phone firstName lastName
111 some lane 81 444-555-1111 John Doe

-

import java.io.BufferedReader;
import java.io.FileReader;

public class test2 {

public static void main(String args[]) throws Exception {

String dataFileName = "C:/testfiles/testfile1.txt";
String line;
int lineNumber = 0;

BufferedReader bReader = new BufferedReader(new FileReader(dataFileName));
bReader.readLine();

while ((line = bReader.readLine()) != null) {
lineNumber++;
String datavalue[] = line.split("\t");
String lastName = datavalue[1];
String firstName = datavalue[5];
String address = datavalue[3];

System.out.println(lastName + "'" + firstName + "," + address);

}
}
}

最佳答案

这是第一种方法。我会尝试这样的方式:

int colLastName, colFirstName, colAddress;
line = bReader.readLine();
String columnOrder []= line.split("\t");
for (int i=0; i< columnOrder.length; i++){
if (columnOrder[i].equals("lastName")){
colLastName = i;
}
else if (columnOrder[i].equals("firstName"){
colFirstName = i;
}
else if (columnOrder[i].equals("address"){
colAddress = i;
}
}


while ((line = bReader.readLine()) != null) {
lineNumber++;
String datavalue[] = line.split("\t");
String lastName = datavalue[colLastName];
String firstName = datavalue[colFirstName];
String address = datavalue[colAddress];

System.out.println(lastName + "'" + firstName + "," + address);

}

关于java以随机顺序读取文本文件列标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29129912/

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