gpt4 book ai didi

java - java中子字符串索引越界

转载 作者:行者123 更新时间:2023-11-30 01:43:21 25 4
gpt4 key购买 nike

我正在编写一个简单的代码,仅显示使用java中的任务列表“控制台”类型的进程的名称

由于此代码中的字符串索引越界错误,我无法执行此操作。我使用索引 36 到 43,因为在这些代码中,我在代码输出期间获得了进程类型,其中我们使用任务列表打印所有进程。对于进程名称 0 到 30 也是如此。

请帮我解决这个问题。

import java.io.*;
public class process_name
{
public static void main(String []args)
{
try {
int i;
String line,pn,pt;
pn="";
Process p = Runtime.getRuntime().exec(System.getenv("windir") +"\\system32\\"+"tasklist.exe");

BufferedReader input = new BufferedReader(new InputStreamReader(p.getInputStream()));

while ((line = input.readLine()) != null)
{
pt=line.substring(36,43);
if(pt.equals("Console"))
{
pn=line.substring(0,30);
System.out.println(pn);
}
System.out.println();
}
input.close();
}
catch (Exception err)
{
err.printStackTrace();
}
}

}

最佳答案

尝试检查该行的长度。它可能不够长,这会导致越界错误,因为它不够长。

 System.out.println(line.length());

或者您可以在通话前检查线路长度

 if (line.length() >= 43){
....

关于java - java中子字符串索引越界,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59114893/

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