gpt4 book ai didi

java - 搜索具有可变列大小的数组 java

转载 作者:行者123 更新时间:2023-12-01 14:49:03 27 4
gpt4 key购买 nike

我想将 .txt 文件复制到新文件后在屏幕上显示其部分内容。文本文件的内容在结构上并不完全相同。

当我这样做时

if (m[11].equals("Channel") && m[12].equals("ID")){ System.out.println("Wavelenght ID = " + m[9]);

我收到一个错误数组越界。

TESTSTEP: DEBUG * Fpga Config ECFG *: EED 3 : Channel ID

如果找到此行,我希望它显示 Wavelenght ID = 3

String p = path.replace("\\", "\\\\");
File file = new File(p);
File[] files = file.listFiles();
BufferedReader inputStream = null;
PrintWriter outputStreamI = null;
PrintWriter outputStreamO = null;

try {
String l,c;
for (int i=0; i<files.length; i++){

inputStream = new BufferedReader(new FileReader(files[i].getAbsolutePath()));
outputStreamI = new PrintWriter(new FileWriter("S:\\WRED_IBP\\" + files[i].getName().replaceFirst("[.][^.]+$", "")+ "Ingress.txt"));
outputStreamO = new PrintWriter(new FileWriter("S:\\WRED_IBP\\" +files[i].getName().replaceFirst("[.][^.]+$", "")+ "Egress.txt"));

while ((l = inputStream.readLine())!= null) {
String[] m=l.split(" ");
for(int d=0; d<m.length; d++){
c=m[d];
if (c.equalsIgnoreCase("ied_wred") ){outputStreamI.println(l); if (outputStreamI.checkError()){System.err.println("Error in output stream");}} //|| c.equalsIgnoreCase("WARNING") || c.equals("ERROR")
else if (c.equalsIgnoreCase("eed_brc_ibp")){outputStreamO.println(l); if (outputStreamO.checkError()){System.err.println("Error in output stream");}} // || c.equalsIgnoreCase("WARNING") || c.equals("ERROR")
}
}
}

} catch(IOException e){
System.err.println("Caught IOException: " + e.getMessage());
}//wait(10);
finally {
if (inputStream != null) {
try{ inputStream.close();} catch (IOException e) {e.printStackTrace();}}
if (outputStreamI != null) {outputStreamI.close();}
if (outputStreamO != null) {outputStreamO.close();}

}

}

最佳答案

您可以使用:

if (m.length > 12 && m[11].equals("Channel") && m[12].equals("ID")){ 
System.out.println("Wavelenght ID = " + m[9]);
}

所以这里不会发生索引越界。

确保将这些行放在 for 循环之前。

关于java - 搜索具有可变列大小的数组 java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15066121/

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