java.lang.NumberFormatException: For input string: "锘?23"如何解决?!

unknown-null unknown-null 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

我想从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的编码。
...全文
评论 16
收藏 已收藏
分享
返回顶部
unknown-null
Web 开发 81,108 成员 341,721 内容