Linux下读取文件失败

问题描述

这是我的读取代码: public static List<String> addFileToList(String bKFilePath) {BufferedReader bkFile = null;List<String> list = new ArrayList<String>();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;}在Linux系统上碰到的问题是:1、首尾两端日志打印成功:"bKFilePath:","addFileToList complete";2、中间的日志:"fileContent:",一行也没有打印。这个方法理论上是没有错误的,我把文件复制到本地windows环境下测试是能够读取成功的。中间的日志也全部打印。考虑过路径和权限问题,但日志中根本就没有的对应的异常信息。而且经过手工验证,路径是正确的,权限也没有问题,所在文件夹和文件本身分别是:drwxrwxrwx、rwxrwxrwx。但这个文件就是死活读不出来。 问题补充:谢谢各位。我的路径是:/tftpboot/running-config20110823174339.log文件是在Linux下生成的,流也关闭了。昨天又试了下,把文件拷到其他路径,我的用户是head,所以拷到了"/home/head"下,它居然能读取了。但奇怪的是在/tftpboot下我能touch文件也能删除文件(File.delete),但就是不能读文件。

解决方案

liux下传入的路径格式是什么的?贴下你传的路径吧··然后window liunx下路径分隔符不同啊 File.separator设定路径分隔符····
解决方案二:
能删除,却无法读取?还有 LOG.debug("is file readable:"+isReadable); 这个log也不打印啊?
解决方案三:
流没关闭?!
解决方案四:
你读的是个文本文件吗?这个文件是不是在windows下写的?如果是的话执行一下:dos2unix 文件名

时间: 2024-10-22 17:20:13

Linux下读取文件失败的相关文章

java-Linux下读取文件找不到文件或路径

问题描述 Linux下读取文件找不到文件或路径 从linux下某路径读取一个图片上传到其他地方,用File对象和FileInputSteam都是找不到文件 ,路径不带中文,路径没有错,文件我直接cd 进去可以找到,权限wr都有,就是他妈报 路径下文件和文件夹找不到的错误 解决方案 关于读取properties文件找不到路径问题U盘文件路径找不到或文件破坏linux找不到库文件 解决方案二: 图片名字也对了吗,那就奇怪了 解决方案三: 这样不知道你具体的问题是什么. 你可以先试试在执行程序的同一目

Linux下利用文件描述符恢复的成功失败实验

    数据误删除是作为初级运维人员常常遇到的"低级错误",一些有经验的老手有时也在疲劳.不冷静的情况下"马失前蹄".一旦误删除数据文件,尽快采用影响最小.最迅速的手段恢复数据库是第一要务. 恢复数据的方法很多,比如冷热备份.闪回数据库等等,如果是直接从操作系统OS层面删除数据文件,在Linux/Unix环境下,有一些优选手段可以使用.其中之一就是文件描述符(File Description).   1.聊聊File Description   不同的操作系统,在实

Linux下读取默认MAC地址的方法

  Linux下读取默认MAC地址的方法           MAC(Media Access Control,介质访问控制)计算机通过它来定义并识别网络设备的位置.在嵌入式linux学习中不可避免也会遇到MAC,本文主要描述了如何通过操作OTP来读取嵌入式linux设备网卡中的MAC地址 一.适用范围 这里主要介绍读取网卡MAC地址的方法,适用于EasyARM-i.MX287A开发套件,其应用原理及配套示例也适用于下表1.1所列出的产品型号. 二.原理介绍 MAC(Media Access C

linux下adb连接失败的怎么解决

不管是在Windows系统还是在Linux系统中,相信不少用户或开发者都遇到过手机adb连接不上的情况.其实出现这种问题很多时候是由于 adb冲突导致的,毕竟很多软件都有自己的adb链接.那么,出现这种问题该怎么办呢?下面就给大家介绍下Mac或者linux下adb连接失败的解决办法. 1.查看设备VenderID 在mac下 或者Linux打开终端(Terminal),linux下可以按快捷键(CTRL+T,忘了具体是不是大家去试试或者查查),mac下Control+space,输入Termin

Linux下删除文件下彻底删除文件

  在linux中删除文件与文件夹我们可以直接使用rm就可以删除了,彻底删除文件或文件夹我们可以使用shred命令来完成,下面我给大家介绍介绍. Linux删除文件夹命令 linux删除目录很简单,很多人还是习惯用rmdir,不过一旦目录非空,就陷入深深的苦恼之中,现在使用rm -rf命令即可. 直接rm就可以了,不过要加两个参数-rf 即:rm -rf 目录名字 删除目录.文件 rm(remove) 功能说明:删除文件或目录. 语 法:rm [-dfirv][--help][--version

acpi-ACPI Linux下poweroff关机失败,会再次启动(非重启)

问题描述 ACPI Linux下poweroff关机失败,会再次启动(非重启) 两台机子用直连线连接,利用网络唤醒使机子开机,然后关机被唤醒方,可以正常关机,再次网络唤醒,再次关机被唤醒方,这是关机后(风扇已停),机子会重新启动. 分析可能是BIOS没有将网卡状态即时清掉,通过询问BIOS方,BIOS在每次S5模式时会将网卡状态sts清掉.BIOS中ACPI是处于S3模式下的. 请问会不会跟BIOS没有处理S3模式有关?linux下poweroff命令关机时,用到的是哪个模式关机? 附:wind

linux内核-linux io 读取文件问题

问题描述 linux io 读取文件问题 我遇到一个困扰了我很久的问题, 到时我项目挂掉好多次, 每次读硬盘过高时,项目就会挂, 我现在想问的是: 谁能告诉我, 是读哪些文件名字? linux 下面怎么查看呢...我不需要实时监控的vmstat,iostat命令哦.. 解决方案 http://www.51know.info/system_security/inotify.htmlhttp://www.infoq.com/cn/articles/inotify-linux-file-system-

系统-linux下 读取 exfat,求大神

问题描述 linux下 读取 exfat,求大神 本人系统时centos 安装完成后,不能读取exfat 求大神指教怎么读写 exfat 解决方案 从 googlecode上 下载exfat-utils-1.1.1.tar fuse-exfat-1.1.0.tar然后编译后 make and make install 就可以自动挂载和读写 exfat了

Linux下脚本文件的seq的学习

问题描述 Linux下脚本文件的seq的学习 B=seq -s " " -f"iconback%02g" 1 $A C=seq -s " " -f"img%0g" 1 $A 请问哪位知道如何让B,C 打印出来的值一一对应,例如:img1="iconback01",img2="iconback02".... 解决方案 seq没法支持两个变量,用awk来 awk 'BEGIN { for(i