我有一个.txt,具有以下结构:
0000001|PEPE |S|REFERENCE1|REFERENCE2|REFERENCE3
0000002|SANSON|S|REFERENCE1| |
0000003|JSONSY|S|REFERENCE1|REFERENCE2|
我正在研究代码,并希望您发表评论。为什么在链接列表上?这是最好的方法吗?好吧,每个引用都是数据库中的一个寄存器,因此将是这样的:
0000001|PEPE|S|REFERENCE1
0000001|PEPE|S|REFERENCE2
0000001|PEPE|S|REFERENCE3
...
这是正在转换数据的类
public class ScheduleTasks {
HashMap<Integer, List<Reference>> map = new HashMap<Integer, List<Reference>>();
private final Logger logger = Logger.getAnonymousLogger();
public void ReadFile() throws IOException {
String referencePath = "C:\\Users\\Admin\\Desktop\\PRUEBA.txt";
BufferedReader br;
br = new BufferedReader(new FileReader(referencePath));
this.logger.info("here 2");
String line = br.readLine();
Reference ref = new Reference(2, "", 0, "text", true, 0, 0, "", 0);
this.logger.info("Reading file...");
while (line != null) {
if (!line.isEmpty() && line.length() > 9) {
String[] values = line.split("\\|");
int service = Integer.parseInt(values[0]);
List<Reference> references = new LinkedList<Reference>();
if (values.length >= 4 && !values[3].isEmpty()) {
int id = Integer.parseInt(service + "1");
ref.setLabel(values[3].trim());
ref.setMax_length(0);
ref.setService(service);
ref.setOrder(0);
ref.setName("ref1");
ref.setId(id);
references.add(ref);
}
System.out.println(ref);
if (values.length >= 5 && !values[4].isEmpty()) {
int id = Integer.parseInt(service + "2");
ref.setLabel(values[4].trim());
ref.setMax_length(0);
ref.setService(service);
ref.setOrder(1);
ref.setName("ref2");
ref.setId(id);
references.add(ref);
System.out.println(ref);
}
if (values.length >= 6 && !values[5].isEmpty()) {
int id = Integer.parseInt(service + "3");
ref.setLabel(values[4].trim());
ref.setMax_length(0);
ref.setService(service);
ref.setOrder(2);
ref.setName("ref3");
ref.setId(id);
references.add(ref);
System.out.println(ref);
}
this.map.put(service, references);
System.out.println(service);
System.out.println(references);
}
line = br.readLine();
}
br.close();
System.out.println("end!");
}
}
但是我在许多示例中都看到,它应该返回包含对象列表的数组,但不会在System.out.println(ref)行中返回该数组;但这会返回我:
[com.test.jobs.model.Reference@f202d6d, com.test.jobs.model.Reference@f202d6d, com.test.jobs.model.Reference@f202d6d]
他们建议我简化此操作,以感谢您的评论将其插入数据库中