当前位置: 技术问答>java相关
这段代码有什莫错误
来源: 互联网 发布时间:2015-09-19
本文导语: import java.io.*; public class Untitled1 { public static void main(String []args) throws IOException { String resultsDir="E:\JBuilder7\jakarta-tomcat-4.0.3\webapps\ROOT\vote\"; FileInputStream tfile=new FileInputStream (resultsDir + "vote...
import java.io.*;
public class Untitled1 {
public static void main(String []args) throws IOException {
String resultsDir="E:\JBuilder7\jakarta-tomcat-4.0.3\webapps\ROOT\vote\";
FileInputStream tfile=new FileInputStream (resultsDir + "vote.txt");
String str="";
int c;
while ((c=tfile.read())!=-1){
str=str+(char)c;
}
int first=str.indexOf(":");
//找到第二个“:”的位置
int last=str.lastIndexOf(":");
//得到String的长度
int lenth=str.length();
//取出第一个“:”前的数据
String First=str.substring(0,first);
//取出第一个“:”和第二个“:”之间的数据
String Next=str.substring(first+1,last);
//取出最后一个“:”后的数据
String Last=str.substring(last+1,lenth);
//关闭文件
tfile.close();
long b1=Long.parseLong(First);
long b2=Long.parseLong(Next);
long b3=Long.parseLong(Last);
//把每次投票结果累加1
FileWriter resultsFile=new FileWriter(resultsDir + System.getProperty("file.separator") + "vote.txt",true);
PrintWriter toFile= new PrintWriter(resultsFile);
toFile.write("gfhgfdh") ;
Long c1=new Long(b1);
Long c2=new Long(b2);
Long c3=new Long(b3);
//把Long转换成String
String d1=c1.toString();
String d2=c2.toString();
String d3=c3.toString();
}
}
请教高手:为什莫运行以上代码会出现如下错误:
Exception in thread "main" java.lang.NumberFormatException:0
at java.lang.Long.parseLong(Long.java:319)
at java.lang.Long.parseLong(Long.java:363)
at Untitled1.main(Untitled1.java:32)
public class Untitled1 {
public static void main(String []args) throws IOException {
String resultsDir="E:\JBuilder7\jakarta-tomcat-4.0.3\webapps\ROOT\vote\";
FileInputStream tfile=new FileInputStream (resultsDir + "vote.txt");
String str="";
int c;
while ((c=tfile.read())!=-1){
str=str+(char)c;
}
int first=str.indexOf(":");
//找到第二个“:”的位置
int last=str.lastIndexOf(":");
//得到String的长度
int lenth=str.length();
//取出第一个“:”前的数据
String First=str.substring(0,first);
//取出第一个“:”和第二个“:”之间的数据
String Next=str.substring(first+1,last);
//取出最后一个“:”后的数据
String Last=str.substring(last+1,lenth);
//关闭文件
tfile.close();
long b1=Long.parseLong(First);
long b2=Long.parseLong(Next);
long b3=Long.parseLong(Last);
//把每次投票结果累加1
FileWriter resultsFile=new FileWriter(resultsDir + System.getProperty("file.separator") + "vote.txt",true);
PrintWriter toFile= new PrintWriter(resultsFile);
toFile.write("gfhgfdh") ;
Long c1=new Long(b1);
Long c2=new Long(b2);
Long c3=new Long(b3);
//把Long转换成String
String d1=c1.toString();
String d2=c2.toString();
String d3=c3.toString();
}
}
请教高手:为什莫运行以上代码会出现如下错误:
Exception in thread "main" java.lang.NumberFormatException:0
at java.lang.Long.parseLong(Long.java:319)
at java.lang.Long.parseLong(Long.java:363)
at Untitled1.main(Untitled1.java:32)
|
将代码改为:
long b1=Long.parseLong(First);
long b2=Long.parseLong(Next);
long b3=Long.parseLong(Last.trim());
long b1=Long.parseLong(First);
long b2=Long.parseLong(Next);
long b3=Long.parseLong(Last.trim());