Java如何读取文件的内容到链表中,详细点,最好附加代码,谢谢了。
文件中的数据格式为:11.2324,223.3333,张三22.3456,223.3211,赵四10.3223,234,3212,王五。。。。。。自己定义的结点为:cla...
文件中的数据格式为:11.2324,223.3333,张三
22.3456,223.3211,赵四
10.3223,234,3212,王五
。。。
。。。
自己定义的结点为:
class Node{
double f1;
double f2;
String str;
Node next;
}
第三个写错了,应该是:10.3223,234.3212,王五 展开
22.3456,223.3211,赵四
10.3223,234,3212,王五
。。。
。。。
自己定义的结点为:
class Node{
double f1;
double f2;
String str;
Node next;
}
第三个写错了,应该是:10.3223,234.3212,王五 展开
1个回答
展开全部
import java.io.BufferedReader;
import java.io.FileReader;
import java.util.LinkedList;
public class test {
public void parseFileToNodeList() throws Exception {
LinkedList<Node> nodes = new LinkedList<>();
String filepath = "自己添";
BufferedReader reader = new BufferedReader(new FileReader(filepath));
String temp = reader.readLine();
while (temp != null) {
// 解析字符串
String[] data = temp.split(",");
double d1 = Double.parseDouble(data[0]);
double d2 = Double.parseDouble(data[1]);
String str = data[2];
nodes.add(new Node(d1, d2, str));
temp = reader.readLine();
}
reader.close();
for (int i = 0; i < nodes.size(); i++) {
Node currentNode = nodes.get(i);
if (i == 0) {
Node nextNode = nodes.get(i + 1);
currentNode.setNext(nextNode);
} else if (i == nodes.size() - 1) {
Node previousNode = nodes.get(i - 1);
currentNode.setPrevious(previousNode);
} else {
Node nextNode = nodes.get(i + 1);
currentNode.setNext(nextNode);
Node previousNode = nodes.get(i - 1);
currentNode.setPrevious(previousNode);
}
}
}
}
class Node {
double f1;
double f2;
String str;
Node next;
Node previous;
public Node(double f1, double f2, String str) {
super();
this.f1 = f1;
this.f2 = f2;
this.str = str;
}
public double getF1() {
return f1;
}
public void setF1(double f1) {
this.f1 = f1;
}
public double getF2() {
return f2;
}
public void setF2(double f2) {
this.f2 = f2;
}
public String getStr() {
return str;
}
public void setStr(String str) {
this.str = str;
}
public Node getNext() {
return next;
}
public void setNext(Node next) {
this.next = next;
}
public Node getPrevious() {
return previous;
}
public void setPrevious(Node previous) {
this.previous = previous;
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询