DataInputStream中read方法的疑惑 请问各位JAVA高手:我在用DataInputStream读取JAR包时,用read(byte[],int,int)方法分批读取,但读到最后一批字节时线程出现死锁的情况,请大虾们指教 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 自己顶一下,再说详细点: * @param aStart 起始位置 * @param aLength 读取的长度 * @return byte[] 返回保存路径的字节数组 public byte[] getBytes(int aStart, int aLength) { DataInputStream lDataInputStream = null; byte[] lContent = null; try { lDataInputStream = new DataInputStream( new BufferedInputStream( new FileInputStream(“**.jar路径”))); lContent = new byte[aLength]; lDataInputStream.skip(aStart); lDataInputStream.read(lContent, 0, aLength); lDataInputStream.close(); } catch (Exception e) { e.printStackTrace(); return null; } return lContent; } 不是的,其实死锁是因为DataInputStream读取服务器文件导致的,所以上面的是读取服务器文件的方法 我实在找不出原因了,因为我做的项目需要通过EJB远程读取服务器端的JAR文件,然后更新系统,经常出现更新时死锁的情况,就是读取最后一批字节时出现死琐,我觉得应该是read方法中的BUG 就上面的代码来看,没有考虑到 lContent 没有读满的情况 SQL语句 为什么使用WindowAdapter会产生不同的效果 JAVA中怎么实现javascript的setTimeout功能 求一个可以返回天数的的方法! 关于ResultSet.next()的问题 各位前辈,java调用DLL导致Weblogic服务器死掉的问题!(这个问题解决我可以给500分) 问个JAVA 初级问题 面试题目,我是刚学的帮帮我~~~ Java做ERP合适吗?Java主要用在什么方面? 【讨论】一个WEB应用系统的设计问题 线程问题,一点也不懂阿!! 请教字符串算式的转换问题
* @param aStart 起始位置
* @param aLength 读取的长度
* @return byte[] 返回保存路径的字节数组
public byte[] getBytes(int aStart, int aLength)
{
DataInputStream lDataInputStream = null;
byte[] lContent = null;
try
{
lDataInputStream = new DataInputStream(
new BufferedInputStream(
new FileInputStream(“**.jar路径”)));
lContent = new byte[aLength];
lDataInputStream.skip(aStart);
lDataInputStream.read(lContent, 0, aLength);
lDataInputStream.close();
}
catch (Exception e)
{
e.printStackTrace();
return null;
}
return lContent;
}
时死锁的情况,就是读取最后一批字节时出现死琐,我觉得应该是read方法中的BUG