【发布时间】:2021-07-27 17:13:29
【问题描述】:
我正在尝试在 Linux 上读取 os-release 文件并尝试通过查找 VERSION_ID="12.3" 行来获取操作系统版本。我在下面写了一段代码,但最后在第一次拆分字符串后我无法更进一步。我从 VERSION_ID 拆分到“12.3”,在此之后我再次应用拆分函数并得到“java.lang.ArrayIndexOutOfBoundsException:索引 1 超出长度 0 的范围”错误。 , 需要您的帮助和宝贵的建议。
File fobj2 = new File("C:\\os-release");
if(fobj2.exists() && !fobj2.isDirectory())
{
Scanner sc = new Scanner(fobj2);
while(sc.hasNextLine())
{
String line = sc.nextLine();
//VERSION_ID="12.3"
if(line.contains("VERSION_ID="))
{
System.out.println(" VERSION_ID= " + line );
String [] ver = line.split("=");
if(ver.length > 1)
{
String [] ver_id = line.split("=");
System.out.println(" ver_id.length " + ver_id.length );
System.out.println(" ver_id[0] " + ver_id[0] );
System.out.println(" ver_id[1] " + ver_id[1] );
System.out.println(" ver_id[1].length() " + ver_id[1].length() );
String [] FinalVer1 = ver_id[1].split(".");
System.out.println(" FinalVer1[1].length() " + FinalVer1[1].length() );
System.out.println(" FinalVer1[1] " + FinalVer1[1] );
}
}
}
【问题讨论】:
-
这相当混乱。我建议您尝试将问题缩小到只有一两行代码,即实际问题/异常。
标签: java arrays string exception split