使用file.length时文件描述符异常

时间:2013-11-08 04:24:05

标签: java

我收到以下异常

java.io.IOException: Bad file descriptor
   at gnu.java.nio.channels.FileChannelImpl.size(libgcj.so.10)
   at java.io.RandomAccessFile.length(libgcj.so.10)
   at ServerSendFile.getAndSetDataFromFile(ServerSendFile.java:738)
   at ServerSendFile.runOnce(ServerSendFile.java:613)
   at ServerSendFile.startSendFile(ServerSendFile.java:212)
   at Server.procMsgFromNetstorm(Server.java:583)
   at Server.tcpRecv(Server.java:465)
   at Server.run(Server.java:292)

这里我有Server.java运行ServerSendFile作为每个提交请求的线程Server.java

ServerSendFile的目的是它将从文件

发送数据

有很多代码,我只粘贴了它在第rafLogFile.length();行引起的小快照

 try
      {
        long fileSize = rafLogFile.length();

        //if the file size may size is zero then, return to fetch the data next innterval
        if(fileSize == 0)
        {
          return true;
        }  
      }
      catch(IOException eio)
      {
        cmonLog.stackTraceLog(className, "getAndSetDataFromFile", "", "", "Exception caught in retriving length of log file = " + lastFile.getAbsolutePath(), eio);
      }

1 个答案:

答案 0 :(得分:0)

可能是jdk / jre版本的问题。

只需检查代码是否已编译并运行相同的jdk / jre版本