変換している文字列がintのときにNFEが発生する理由がわかりません
[コード]
public void setCurrentTransferRate(){
try{
long startTime = System.currentTimeMillis();
String[] command = {"/bin/sh", "-c", "ifconfig " + interface_name + " | grep -oP 'RX bytes:[0-9]{1,11}'"};
String[] command1 = {"/bin/sh", "-c", "ifconfig " + interface_name + " | grep -oP 'TX bytes:[0-9]{1,11}'"};
Process child = Runtime.getRuntime().exec(command);
Process child1 = Runtime.getRuntime().exec(command1);
BufferedReader r = new BufferedReader(new InputStreamReader(child.getInputStream())); //i prwti metrisi twn RX kai TX bytes
BufferedReader r1 = new BufferedReader(new InputStreamReader(child1.getInputStream()));
String temp = r.readLine();
temp = temp.replace("RX bytes:","");
String temp1 = r1.readLine();
temp1 = temp1.replace("TX bytes:","");
r.close();
r1.close();
int x = Integer.parseInt(temp);
int y = Integer.parseInt(temp1);
}catch(IOException e){e.printStackTrace();}
catch(InterruptedException e){e.printStackTrace();}
}[/code]
エラーを生成している文字列は temp です
そして、私はエラーが発生します
[コード]
Exception in thread "Thread-0" java.lang.NumberFormatException: For input string: "3262469144"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:495)
at java.lang.Integer.parseInt(Integer.java:527)
at askisi1.General.setCurrentTransferRate(General.java:187)
at askisi1.General.<init>(General.java:27)
at askisi1.mainThread.run(mainThread.java:17)
at java.lang.Thread.run(Thread.java:722)[/code]
私は本当にこれに新鮮な目を使うことができました