method throws NumberFormatException where it shouldnt, worked normally so far
java, numberformatexception
Solution
The maximum positive value for an integer is `Integer.MAX_VALUE` which is `2,147,483,647`. You could use a long instead:
long x = Long.parseLong(temp);
and it should solve your problem (if all your numbers are less than `Long.MAX_VALUE` or `9,223,372,036,854,775,807`).
Problem
I cant seem to figure out why it thows NFE when the string i am converting is an int [code] ``` 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] ``` the string that is producing the error is temp and i get the error [code] ``` 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] ``` I could really use a fresh pair of eyes on this