专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > Java Exception

读文件异常

发布时间:2010-06-05 12:27:37 文章来源:www.iduyao.cn 采编人员:星星草

读文件异常问题:

环境:unix系统、WebSphere

网关把文件发送到文件系统指定路径,之后文件系统监控到该目录中有文件时将把该文件发送给解析文件的线程(或许有多个),当有线程检查到文件名相匹配时就进行解析文件

在处理文件方法中的
BufferedReader br = new BufferedReader(new FileReader(oReqFile));行出错

Exception Message:

java.io.FileNotFoundException:/u02/project(Cannot open or remove a file containing a running program)
java.io.FileInputStream.open()
java.io.FileInputStream. <init> (FileInputStream.java)
java.io.FileReader. <init> (FileReader.java)

部分源码:
Class:
{
protected String psBatchID = null;
protected File poRplFile = null;

//接受文件
public void messageReceived(Object msg) {
  File oTmpFile = (File) msg;
  if (psBatchID != null && oTmpFile != null) {
  if (oTmpFile.getName().startsWith(psBatchID)) {
poRplFile = oTmpFile;
  }
  }
}
//解析文件
public void performDataFeed() throws Exception {
  try {
  psBatchID = CommonUtil.getBatchOID();
  // Generate Request File using RequestFileGenerator
  File loReqFile = RequestFileGen.generateRequestFile(psBatchID);
  try {
poRplFile = null;
int iCnt = iReplyTimeout / 500;
for(int i=0; i <iCnt; i++) {
if (poRplFile != null) {
  break;
} else {
try {
  Thread.sleep(500);
} catch (InterruptedException iex) {}
}
}
  } catch (Exception ex) {
throw ex;
  }
  performUpload(poRplFile);
  } catch (Exception ex) {
  throw ex;
  } finally {
  psBatchID = null;
  poRplFile = null;
  }
}

//处理文件
public List performUpload(File oFile) {
  try{
  BufferedReader br = new BufferedReader(new FileReader(oReqFile));
  String ls_tempLine = null;
  while((ls_tempLine = br.readLine())!= null){
  }
  }catch(IOException ioex){
  ioex.printStackTrace();
  }

}

}

------解决方法--------------------------------------------------------
有线程正在操作这个文件


------解决方法--------------------------------------------------------
加文件锁试试

    
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: