主题:投票处理出错
<%@ page import="java.util.*,java.lang.*,java.io.*"%>
<%
String action=request.getParameter("action");
String vote=request.getParameter("vote");
String polldata="";
if(action.compareTo("poll")==0){
//生成文件路径和文件名
String resultsDir="C:/Program Files/Apache Software Foundation/Tomcat 5.0/webapps/yu/vote";
//判断文件是否存在
File myfile=new File(resultsDir+System.getProperty("file.separator") +"vote.txt");
if(!(myfile.exists())){
FileWriter resultsFile=new FileWriter(resultsDir+System.getProperty("file.separator")+"vote.txt",true);
PrintWriter toFile=new PrintWriter(resultsFile);
if(vote.compareTo("shopping")==0) polldata="1:0:0";
if(vote.compareTo("support")==0) polldata="0:1:0";
if(vote.compareTo("product")==0) polldata="0:0:1";
toFile.println("polldata");
resultsFile.close();
out.println(polldata);
}
else{ //vote.tex文件存在的情况下的投票处理
FileInputStream tfile=new FileInputStream(resultsDir+System.getProperty("file.separator")+"vote.txt");
//创建FileInputStream对象tfile
String str="";
int c;
while((c=tfile.read())!=-1){
str=str+(char)c;
}
//找到第1个“:”的位置
int first=str.indexOf(":");
//找到第2个“:”的位置
int last =str.lastIndexOf(":");
//得到String 的长度
int lenth=str.length();
//取出第1个“:”前的数据
String First=str.substring(0,first);
//取出第一个":"和第2个之间的数据
String Next=str.substring(first+1,last);
//取出最后一个“:”后的数据
String Last=str.substring(last+1,lenth);
//关闭文件
tfile.close();
//把String转换成Long
Long a1=new Long(First);
Long a2=new Long(Next);
Long a3=new Long(Last);
long b1=a1.longValue();
long b2=a2.longValue();
long b3=a3.longValue();
//把每次投票结里累加1
if(vote.compareTo("shopping")==0) b1=b1+1;
if(vote.compareTo("support")==0) b2=b2+1;
if(vote.compareTo("product")==0) b3=b3+1;
Long c1=new Long(b1);
Long c2=new Long(b2);
Long c3=new Long(b3);//就这里出错提示说for intput string "0"
//polldata的前两个数据都可以正常读取转化
String d1=c1.toString();
String d2=c2.toString();
String d3=c3.toString();
//总票数累加
str=d1+":"+d2+":"+d3;
//把结果写入vote.txt文件中
RandomAccessFile savefile=new RandomAccessFile(resultsDir+System.getProperty("file.separator")+"vote.txt","rw");
savefile.writeBytes(str);
savefile.close();
}
%>
<script language=javascript>
alert("Thanks for your voting!");
self.location="../index.jsp"
</script>
<%
}
%>
[color=FF0000][/color]
<%
String action=request.getParameter("action");
String vote=request.getParameter("vote");
String polldata="";
if(action.compareTo("poll")==0){
//生成文件路径和文件名
String resultsDir="C:/Program Files/Apache Software Foundation/Tomcat 5.0/webapps/yu/vote";
//判断文件是否存在
File myfile=new File(resultsDir+System.getProperty("file.separator") +"vote.txt");
if(!(myfile.exists())){
FileWriter resultsFile=new FileWriter(resultsDir+System.getProperty("file.separator")+"vote.txt",true);
PrintWriter toFile=new PrintWriter(resultsFile);
if(vote.compareTo("shopping")==0) polldata="1:0:0";
if(vote.compareTo("support")==0) polldata="0:1:0";
if(vote.compareTo("product")==0) polldata="0:0:1";
toFile.println("polldata");
resultsFile.close();
out.println(polldata);
}
else{ //vote.tex文件存在的情况下的投票处理
FileInputStream tfile=new FileInputStream(resultsDir+System.getProperty("file.separator")+"vote.txt");
//创建FileInputStream对象tfile
String str="";
int c;
while((c=tfile.read())!=-1){
str=str+(char)c;
}
//找到第1个“:”的位置
int first=str.indexOf(":");
//找到第2个“:”的位置
int last =str.lastIndexOf(":");
//得到String 的长度
int lenth=str.length();
//取出第1个“:”前的数据
String First=str.substring(0,first);
//取出第一个":"和第2个之间的数据
String Next=str.substring(first+1,last);
//取出最后一个“:”后的数据
String Last=str.substring(last+1,lenth);
//关闭文件
tfile.close();
//把String转换成Long
Long a1=new Long(First);
Long a2=new Long(Next);
Long a3=new Long(Last);
long b1=a1.longValue();
long b2=a2.longValue();
long b3=a3.longValue();
//把每次投票结里累加1
if(vote.compareTo("shopping")==0) b1=b1+1;
if(vote.compareTo("support")==0) b2=b2+1;
if(vote.compareTo("product")==0) b3=b3+1;
Long c1=new Long(b1);
Long c2=new Long(b2);
Long c3=new Long(b3);//就这里出错提示说for intput string "0"
//polldata的前两个数据都可以正常读取转化
String d1=c1.toString();
String d2=c2.toString();
String d3=c3.toString();
//总票数累加
str=d1+":"+d2+":"+d3;
//把结果写入vote.txt文件中
RandomAccessFile savefile=new RandomAccessFile(resultsDir+System.getProperty("file.separator")+"vote.txt","rw");
savefile.writeBytes(str);
savefile.close();
}
%>
<script language=javascript>
alert("Thanks for your voting!");
self.location="../index.jsp"
</script>
<%
}
%>
[color=FF0000][/color]