gpt4 book ai didi

java - Java 中的字符串操作导致 "String index out of range"

转载 作者:行者123 更新时间:2023-11-29 10:18:29 24 4
gpt4 key购买 nike

好吧,我有一长串需要重写的数据包大小列表,我不想手工完成,所以我要为它编写一个程序。

public static OutcommingPacket aClass198_1993 = new OutcommingPacket(68, 8);

这是其中一行的示例,我需要做的是让程序转到 68,将其存储在数据包字符串中,然后获取数字 8,并将其存储在大小字符串中。

到目前为止,这是我的代码。

public class PacketSizeFixer {

public static final String IN = "./out/OldPacketSizes.txt";
public static final String OUT = "./out/PacketSizesFormatted.txt";

public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new FileReader(IN));
BufferedReader writer = new BufferedReader(new FileReader(OUT));

String line;
String packet, size;
while ((line = reader.readLine()) != null) {
packet = line.substring(line.indexOf("new OutcommingPacket(", line.indexOf(", ")));
size = line.substring(line.indexOf(", "), line.indexOf(");"));
}
}

}

我不确定我这样做是否正确,因为我总是得到一个超出范围的字符串索引

请帮忙!

顺便说一句,并不是所有的数据包都有相同的名称,有些更长,有些更短,数据包可以是两位数,大小也是如此。请帮忙!

最佳答案

我在这里假设了很多...

while ((line = reader.readLine()) != null) {
String pair = line.substring(line.lastIndexOf("("), line.lastIndexOf(")"));
String values[] = pair.split(","); //values[0] == packet, values[1] == size
}

关于java - Java 中的字符串操作导致 "String index out of range",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11443439/

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