gpt4 book ai didi

java - 当我尝试将 BufferedReader 中的字符串放入字符串数组时出现 NullPointer 异常

转载 作者:行者123 更新时间:2023-11-29 06:36:52 26 4
gpt4 key购买 nike

我正在使用以下代码

public void getIPTableRules(){
ProcessBuilder pb = new ProcessBuilder("/sbin/iptables", "-L");
try {
Process p = pb.start();
BufferedReader input = new BufferedReader(new InputStreamReader(p.getInputStream()));
int lineCount = 0;
String zeile;
while ((zeile = input.readLine()) != null) {
System.out.println(zeile);
System.out.println(lineCount);
line[lineCount] = zeile;
lineCount++;
}

input.close();
} catch (IOException ex) {
Logger.getLogger(CheckFirewall.class.getName()).log(Level.SEVERE, null, ex);
}
}

System.out 的打印正确。变量行在类中设置如下:

public String line[];

异常发生在以下行:

line[lineCount] = zeile;

所以有人可以告诉我我做错了什么......

最佳答案

很有可能,您的 String[] line数组未像

这样初始化
String[] line = new String[100];

但是,因为你不能确定你的 Process 到底有多少行输出可能事先有;我建议使用 List<String>相反,你会初始化为

List<String> lines = new ArrayList<String>();

并添加您的 Process逐行输出给它作为

while ((zeile =  input.readLine()) != null) {
System.out.println(zeile);
System.out.println(lineCount);
lines.add(zeile); // using List#add()
lineCount++;
}

关于java - 当我尝试将 BufferedReader 中的字符串放入字符串数组时出现 NullPointer 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19276622/

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