首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

读文件错误

2012-12-18 
读文件异常点击右边红色标题查看本文完整版:读文件异常读文件异常问题:环境:unix系统、WebSphere 网关把文

读文件异常
点击右边红色标题查看本文完整版:读文件异常

读文件异常问题:

环境: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();
? }

}

}

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


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

    

热点排行