iteye_18009
2011-08-23 21:33 阅读 985

Linux下读取文件失败

这是我的读取代码:
[code="java"]
public static List addFileToList(String bKFilePath) {
BufferedReader bkFile = null;
List list = new ArrayList();
try {
LOG.debug("bKFilePath:"+bKFilePath);
boolean isReadable=new File(bKFilePath).canRead();
LOG.debug("is file readable:"+isReadable);
bkFile = new BufferedReader(new FileReader(bKFilePath));
String anotherRs = null;
while ((anotherRs = bkFile.readLine()) != null) {
LOG.info("fileContent:"+anotherRs+"\n");
list.add(anotherRs);
}
LOG.debug("addFileToList complete");
} catch (FileNotFoundException e) {
LOG.warn("没有找到文件:", e);
return null;
} catch (IOException e) {
LOG.warn("文件读取异常:", e);
return null;
} catch (RuntimeException e) {
LOG.warn("没有文件读写权限:", e);
return null;
} finally{
if(bkFile!=null){
try {
bkFile.close();
} catch (IOException e) {
LOG.warn("文件关闭异常:", e);
}
}
}
return list;
}
[/code]
在Linux系统上碰到的问题是:
1、首尾两端日志打印成功:"bKFilePath:","addFileToList complete";
2、中间的日志:"fileContent:",一行也没有打印。
这个方法理论上是没有错误的,我把文件复制到本地windows环境下测试是能够读取成功的。中间的日志也全部打印。
考虑过路径和权限问题,但日志中根本就没有的对应的异常信息。而且经过手工验证,路径是正确的,权限也没有问题,所在文件夹和文件本身分别是:drwxrwxrwx、rwxrwxrwx。
但这个文件就是死活读不出来。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

4条回答 默认 最新

  • 已采纳
    renpeng301 renpeng301 2011-08-23 23:01

    [code="java"]liux下传入的路径格式是什么的?
    贴下你传的路径吧··
    然后
    window liunx下路径分隔符不同啊
    File.separator设定路径分隔符····
    [/code]

    点赞 评论 复制链接分享
  • redstarofsleep redstarofsleep 2011-08-23 22:01

    你读的是个文本文件吗?
    这个文件是不是在windows下写的?
    如果是的话执行一下:dos2unix 文件名

    点赞 评论 复制链接分享
  • CaiHuajiang CaiHuajiang 2011-08-24 08:31

    流没关闭?!

    点赞 评论 复制链接分享
  • renpeng301 renpeng301 2011-08-24 09:28

    8) 能删除,却无法读取?
    还有 LOG.debug("is file readable:"+isReadable); 这个log也不打印啊?

    点赞 评论 复制链接分享

相关推荐