我想从文本文件中读取一些数据。例如:
1 //总共1个客户数据
192.168.1.116; PC3; /家庭/ PC3 /文件; C:/用户/窗/桌面; //客户数据的详细信息。
这是我的代码:
String strLine;
String [] values = new String[4];
int counter = 0;
int clientCounter = 0;
//Read File Line By Line
while ((strLine = br.readLine()) != null)
{
// Print the content on the console
String delims = ";";
String[] tokens = strLine.split(delims);
if(counter == 0)//Reading total clients
{
totalClient = Integer.parseInt(tokens[0]);
counter++;
}
else
{
for (int i = 0; i < tokens.length; i++)
{
values[i] = tokens[i];
}
dc = new DisplayClient(clientCounter,values[0],values[1]," ",values[2],values[3]);
clientList.add(dc);
但是现在我需要阅读的文件几乎没有分隔符。例如:
0:1,0.5,2,0.7,3,0.2; // 7件
1:0,0.5,7,1; // 5件
2:0,0.7; // 3项
我正在使用此数据创建p2p模拟。
2:0,0.7; //表示节点2连接到节点0,带宽为700kbps
1:0,0.5,7,1; //表示节点1以500kbps连接到节点0,节点1也以1000kbps(1mbps)连接到节点7。
但现在它有3个分隔符,节点项可能是静态的。它可能是3项或5项或7项或可能更多。我怎样才能读到这个并让每个数据用分隔符区分?
对不起我的无知,并提前感谢您的帮助。
答案 0 :(得分:1)
我会试试这个:
答案 1 :(得分:1)
我会以不同的方式表示数据:
1:0,0.5; 7,1; N,S; .......
1.拆分“:”上的行,并将源节点设置为数组的第一个元素。
2.Split second entry by“;”并对结果数组进行迭代,每个条目代表一个节点,对于每个节点,您可以将其拆分为“,”并获取节点数和速度。
3.对于每个源节点,您现在拥有所有连接的节点及其速度,无论其编号是多少。