java.lang.NumberFormatException: For input string: "锘?23"如何解决?!
我想从txt文件中读取信息,封装成对象,但总是出现异常,求解决方法。
控制台输出的内容如下:
八月 24, 2012 4:29:07 下午 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet [ImportGoodsServlet] in context with path [/WarehouseManagementSystem] threw exception
java.lang.NumberFormatException: For input string: "锘?23"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Long.parseLong(Long.java:441)
at java.lang.Long.parseLong(Long.java:483)
at com.zhanghan.controller.ImportGoodsServlet.doPost(ImportGoodsServlet.java:54)
at com.zhanghan.controller.ImportGoodsServlet.doGet(ImportGoodsServlet.java:30)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1001)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:585)
at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:1770)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
以下是相关的函数或文件:
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
GoodsBeanDao existedGBDao = new GoodsBeanDao();
BufferedReader reader = new BufferedReader(new FileReader("G:/我的程序/3.java/2.Myeclipse for j2ee/WarehouseManagementSystem/GoodsInfo.txt"));
String line = null;
while((line=reader.readLine())!=null)
{
String[] list = line.split(" ");
long goodsId = Long.parseLong(list[0].trim());//////这个地方出现的异常
String goodsName = list[1];
double goodsPrice = Double.parseDouble(list[2].trim());
long goodsNum = Long.parseLong(list[3].trim());
GoodsBean gb = new GoodsBean(goodsId, goodsName, goodsPrice, goodsNum);
existedGBDao.addGoods(gb);
}
request.getSession().setAttribute("existedGoods", existedGBDao);
request.getRequestDispatcher("find.jsp").forward(request, response);
}
读取的txt文件中前几行内容如下:
223 悟空传 23.0 100
1002 穆斯林的葬礼 20.0 45
1003 平凡的世界 25.0 89
还有,我保存txt时,编码为UTF-8,用Myeclipse看txt的属性时也是UTF-8的编码。
...全文
相关推荐
java.lang.NumberFormatException For inputstring 4294967295处理方法
For input string: '4294967295'" 这个错误消息表明在尝试转换的字符串 `'4294967295'` 过程中出现了问题。让我们深入探讨这个异常的原因和解决方法。
JAVA抛出异常的三种形式详解
: For input string: "NBA" at java.lang.NumberFormatException.forInputString(NumberFormatException.java
Spring及Mybatis整合占位符解析失败问题解决
'; nested exception is java.lang.NumberFormatException: For input string: "${maxActive}"。
Java实验六 - 实验报告.docx
Java中的异常是通过类来表示的,这些类都是从`java.lang.Throwable`类派生的。异常分为两种类型:`Error`和`Exception`。
ssd3选择题答案
- **选项**:(a) java.lang.Throwable (b) java.lang.Error (c) java.io.IOException (d) java.lang.RuntimeException


Web 开发
