请大家来看看这个IO异常

liu_moyan 2010-01-20 02:09:12
在读取excel文件的时候出现了这个错误
[13:32:42.602] {RMI TCP Accept-0} RMI TCP Accept-0: accept loop for ServerSocket
[addr=0.0.0.0/0.0.0.0,port=0,localport=1272] throws
[13:32:42.602] {RMI TCP Accept-0} java.io.IOException: The server sockets create
d using the LocalRMIServerSocketFactory only accept connections from clients run
ning on the host where the RMI remote objects have been exported.
[13:32:42.602] {RMI TCP Accept-0} at sun.management.jmxremote.LocalRMIServ
erSocketFactory$1.accept(LocalRMIServerSocketFactory.java:71)
[13:32:42.602] {RMI TCP Accept-0} at sun.rmi.transport.tcp.TCPTransport$Ac
ceptLoop.executeAcceptLoop(TCPTransport.java:369)
[13:32:42.602] {RMI TCP Accept-0} at sun.rmi.transport.tcp.TCPTransport$Ac
ceptLoop.run(TCPTransport.java:341)
[13:32:42.602] {RMI TCP Accept-0} at java.lang.Thread.run(Thread.java:619)
...全文
1463 15 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
liu_moyan 2010-01-21
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 crazylaa 的回复:]
RMI那里配的端口就到那里看呢。
[/Quote]
至于这个吧 我也没有配置过 哎
liu_moyan 2010-01-21
  • 打赏
  • 举报
回复

没有会的人吗
jiayi_it 2010-01-20
  • 打赏
  • 举报
回复
用这个poi,excel和其他的文本格式不同
POI简介

Jakarta POI 是apache的子项目,目标是处理ole2对象。它提供了一组操纵Windows文档的Java API

目前比较成熟的是HSSF接口,处理MS Excel(97-2002)对象。它不象我们仅仅是用csv生成的没有格式的可以由Excel转换的东西,而是真正的Excel对象,你可以控制一些属性如sheet,cell等等。

二.HSSF概况

HSSF 是Horrible SpreadSheet Format的缩写,也即“讨厌的电子表格格式”。 也许HSSF的名字有点滑稽,就本质而言它是一个非常严肃、正规的API。通过HSSF,你可以用纯Java代码来读取、写入、修改Excel文件。

HSSF 为读取操作提供了两类API:usermodel和eventusermodel,即“用户模型”和“事件-用户模型”。前者很好理解,后者比较抽象,但操作效率要高得多。

三.开始编码

1 . 准备工作

要求:JDK 1.4+POI开发包

可以到 http://www.apache.org/dyn/closer.cgi/jakarta/poi/ 最新的POI工具包

2 . EXCEL 结构

HSSFWorkbook excell 文档对象介绍
HSSFSheet excell的表单
HSSFRow excell的行
HSSFCell excell的格子单元
HSSFFont excell字体
HSSFName 名称
HSSFDataFormat 日期格式
在poi1.7中才有以下2项:
HSSFHeader sheet头
HSSFFooter sheet尾
和这个样式
HSSFCellStyle cell样式
辅助操作包括
HSSFDateUtil 日期
HSSFPrintSetup 打印
HSSFErrorConstants 错误信息表

3 .具体用法实例 (采用 usermodel )

如何读Excel

读取Excel文件时,首先生成一个POIFSFileSystem对象,由POIFSFileSystem对象构造一个HSSFWorkbook,该HSSFWorkbook对象就代表了Excel文档。下面代码读取上面生成的Excel文件写入的消息字串:
Java代码
查看复制到剪切板打印
POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream("d:\test.xls"));
HSSFWorkbook wb = new HSSFWorkbook(fs);
HSSFSheet sheet = wb.getSheetAt(0);
HSSFRow row = sheet.getRow(0);
HSSFCell cell = row.getCell((short) 0);
String msg = cell.getStringCellValue();

POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream("d:\test.xls"));
HSSFWorkbook wb = new HSSFWorkbook(fs);
HSSFSheet sheet = wb.getSheetAt(0);
HSSFRow row = sheet.getRow(0);
HSSFCell cell = row.getCell((short) 0);
String msg = cell.getStringCellValue();

如何写excel,

将excel的第一个表单第一行的第一个单元格的值写成“a test”。

Java代码
查看复制到剪切板打印
POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream("workbook.xls"));
HSSFWorkbook wb = new HSSFWorkbook(fs);
HSSFSheet sheet = wb.getSheetAt(0);
HSSFRow row = sheet.getRow(0);
HSSFCell cell = row.getCell((short) 0);
cell.setCellValue("a test");
// Write the output to a file
FileOutputStream fileOut = new FileOutputStream("workbook.xls");
wb.write(fileOut);
fileOut.close();

POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream("workbook.xls"));
HSSFWorkbook wb = new HSSFWorkbook(fs);
HSSFSheet sheet = wb.getSheetAt(0);
HSSFRow row = sheet.getRow(0);
HSSFCell cell = row.getCell((short) 0);
cell.setCellValue("a test");
// Write the output to a file
FileOutputStream fileOut = new FileOutputStream("workbook.xls");
wb.write(fileOut);
fileOut.close();
4 . 可参考文档

POI 主页:http://jakarta.apache.org/poi/,

初学者如何快速上手使用POI HSSF

http://jakarta.apache.org/poi/hssf/quick-guide.html 。

代码例子 http://blog.java-cn.com/user1/6749/archives/2005/18347.html


里面有很多例子代码,可以很方便上手。

四.使用心得

POI HSSF 的usermodel包把Excel文件映射成我们熟悉的结构,诸如Workbook、Sheet、Row、Cell等,它把整个结构以一组对象的形式保存在内存之中,便于理解,操作方便,基本上能够满足我们的要求,所以说这个一个不错的选择。
crazylaa 2010-01-20
  • 打赏
  • 举报
回复
RMI那里配的端口就到那里看呢。
老张-AI 2010-01-20
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 java2000_net 的回复:]
accept loop for ServerSocket

看错误,出现循环的端口调用了

具体的不明
[/Quote]

...
具体的不确定啦
liu_moyan 2010-01-20
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 wanghongyu243 的回复:]
用东西要灵活,你去Google翻译一下不就可以吗?活!
[/Quote]
大哥 如果Google翻译出来的东西能看懂的话 我也用不着来问啦
BearKin 2010-01-20
  • 打赏
  • 举报
回复
不会RMI的BK路过..JAVA核心技术比较悲剧的一个章节..没敢看..
wanghongyu243 2010-01-20
  • 打赏
  • 举报
回复
用东西要灵活,你去Google翻译一下不就可以吗?活!
liu_moyan 2010-01-20
  • 打赏
  • 举报
回复

哎 如何寻找这个端口号
lanlanq 2010-01-20
  • 打赏
  • 举报
回复
具体你是哪个端口我也不知道呀,看上面的问题,我感觉是这样,ping socket的服务端口试试
liu_moyan 2010-01-20
  • 打赏
  • 举报
回复
确实是jdk1.6啊
Ping连接地址端口是否正常这个不知道ping哪个呢
楼上可以说清楚一点不
lanlanq 2010-01-20
  • 打赏
  • 举报
回复
你使用的是jdk1.6吗?应该是,访问socket连接异常,Ping连接地址端口是否正常
greenwater007 2010-01-20
  • 打赏
  • 举报
回复
The server sockets create
d using the LocalRMIServerSocketFactory only accept connections from clients run
ning on the host where the RMI remote objects have been exported

应该是这个原因,楼主具体具体再看看吧
老紫竹 2010-01-20
  • 打赏
  • 举报
回复
accept loop for ServerSocket

看错误,出现循环的端口调用了

具体的不明
liu_moyan 2010-01-20
  • 打赏
  • 举报
回复
都没人来看吗 哎 这个异常我Google的时候 都是一些英文的网页 看不懂啊 伤心

67,548

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧