yangjun101 2009-01-04 14:01
浏览 290
已采纳

关于java里打开隐藏文件的问题

为什么java里 可以用file.delete来删除一个隐藏文件,但是new FileOutputStream(file) 和 new FileInputStream(file) 来open 一个隐藏文件 就不行 呢 就会报FileNotFoundExecption 这是为什么呢?大家能告诉我吗!
问题补充:
不好意思,我的问题有点问题,对于一个隐藏文件,new FileInputStream(file) 是没有问题的,但是在windows平台下,new FileOutPutStream(file) 就会有问题,我后来跟进java代码,发在是在FileOutPutStream的 open()方法那里出的错!!
问题补充:
你可以自己在windows平台下 随便对一个隐藏文件 进行 new FileOutPutStream(File)就可以知道错误了

  • 写回答

6条回答 默认 最新

  • etank2011 2009-01-05 16:59
    关注

    抱歉,是我对IO不太熟悉,FileOutputStream的确会在初始化时就尝试打开文件,调用的都是本地方法。
    如果对一个已经存在的隐藏文件,虽然可以用input stream读出来,但是使用[code="java"]new FileOutputStream(file)[/code]尝试创建output stream就会报错
    [code="java"]
    Exception in thread "main" java.io.FileNotFoundException: .\src\hidden.txt (拒绝访问。)
    at java.io.FileOutputStream.open(Native Method)
    at java.io.FileOutputStream.(FileOutputStream.java:179)
    at java.io.FileOutputStream.(FileOutputStream.java:131)
    at TestFile.main(TestFile.java:19)
    [/code]
    好象是权限的问题,但是输出文件的file.canWrite()是true
    不过如果用[code="java"]new FileOutputStream(file, true)[/code]就可以在文件后面添加内容,而且不报错,因为第二个参数指定了只是在末尾添加内容,调用的是openAppend方法,不是报错中的open方法,但是这样无法修改已经存在的内容

    可以使用RandomAccessFile来读写隐藏文件

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?

悬赏问题

  • ¥15 微信会员卡等级和折扣规则
  • ¥15 微信公众平台自制会员卡可以通过收款码收款码收款进行自动积分吗
  • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
  • ¥15 gdf格式的脑电数据如何处理matlab
  • ¥20 重新写的代码替换了之后运行hbuliderx就这样了
  • ¥100 监控抖音用户作品更新可以微信公众号提醒
  • ¥15 UE5 如何可以不渲染HDRIBackdrop背景
  • ¥70 2048小游戏毕设项目
  • ¥20 mysql架构,按照姓名分表
  • ¥15 MATLAB实现区间[a,b]上的Gauss-Legendre积分