以下是接受文字输入处理的代码,在文本框中输入的文字超过30字时就出现错误!麻烦大家看看是啥原因!import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;public class ioFileServlet extends HttpServlet
{
public String codeToString(String str)
{
String s = str;
try
{
byte byteB[] = s.getBytes("ISO-8859-1");
s = new String(byteB);
return s;
}
catch(Exception e)
{
return s;
}
}

public void init(ServletConfig config) throws ServletException
{
super.init(config);
}

public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
response.setContentType("text/html;charset=gb2312");
PrintWriter out = response.getWriter();
out.print("<html><head><title>文件内容处理</title></head><body>");
int RowSize = 30;
String tempString1 = null;
String tempString2 = null;
tempString1 = codeToString(request.getParameter("content"));
if(tempString1 != null)
{
File f = new File("d:/temp/servletContent.txt");
FileWriter outFile1 = new FileWriter(f,true);
BufferedWriter outBuffer = new BufferedWriter(outFile1);
int writerStringLength = tempString1.length();
for(int i = 0; i < writerStringLength/RowSize + 1; i++)
{
if((i+1)*20<writerStringLength)
{
tempString2 = tempString1.substring(i*RowSize,(i+1)*RowSize);
}
else
{
tempString2 = tempString1.substring(i*RowSize,writerStringLength);
}
outBuffer.write(tempString2);
outBuffer.newLine();
}
outBuffer.flush();
outBuffer.close();
outFile1.close();
}
out.println("写入的文件内容是:<br>");
File f = new File("d:/temp/servletContent.txt");
if(f.exists())
{
FileReader fileReader = new FileReader(f);
BufferedReader bufferReader = new BufferedReader(fileReader);
byte bufferArray[] = new byte[90];
String tempString = null;
while((tempString = bufferReader.readLine()) != null)
{
out.println(tempString + "<br>");
}
bufferReader.close();
fileReader.close();
}
else
{
out.println("文件中暂时没有内容!");
}
out.print("</body></html>");
}
}