gpt4 book ai didi

java 使用 readline 嵌套 while 循环

转载 作者:行者123 更新时间:2023-12-01 19:25:08 24 4
gpt4 key购买 nike

我很困惑。我试图循环遍历两个文件,查看第一个文件每一行中的第一个标记,并将其与第二个文件每一行中的第三个标记进行比较。以下是嵌套 while 循环形式的逻辑结构:

BufferedReader reader1 = new BufferedReader(new InputStreamReader(new FileInputStream(fromFile1)));

BufferedReader reader2 = new BufferedReader(new InputStreamReader(new FileInputStream(fromFile2),"EUC-JP"));

String line1, line2 = null;
String temp1, temp2 = null;

while ((line1=reader1.readLine()) != null)
{
StringTokenizer st1 = new StringTokenizer(line1);
temp1 = "U"+st1.nextToken();
while((line2=reader2.readLine()) != null)
{
StringTokenizer st2 = new StringTokenizer(line2);
temp2 = st2.nextToken();
temp2 = st2.nextToken();
temp2 = st2.nextToken();
if(temp2.equals(temp1));
{
System.out.println(temp1+" "+temp2);
}
}
}

但是,我在输出中看到的只是第一个文件第一行的第一个标记和第二个文件每一行的第三个标记重复了 6,000(文件 2 的长度)次,无论它们是否是“相等”或不相等。这与它们的不同编码有关吗?我可以看到这对 equals 测试有影响,但为什么循环行为不正确?

干杯,布兰登

最佳答案

这是; if后面

if(temp2.equals(temp1));

但是它可能不会按预期工作,因为您必须在外循环中重新打开文件 2,否则它只能对文件 1 的第一行正常工作

关于java 使用 readline 嵌套 while 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1627184/

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