永发信息网

java 在获取文件的时候,如何避免获取到正在读写的文件

答案:2  悬赏:50  手机版
解决时间 2021-03-02 01:23
我现在需要定时从一个目录中获取文件,然后转移到其他文件夹,再删除源文件,现在出现一个情况,一个比较大的文件是由其他程序写入但还没有写完,我的程序拿到这个文件之后马上就进行操作并删除源文件,导致文件损坏,我现在要求只要是正在被其他程序写入的文件都不去操作它,那如何判断该文件是正在被写入的文件?(注:我不能修改写入文件的程序)
最佳答案
加入
try{}catch{}语句
全部回答
最近在做html静态生成,需要从硬盘上把模版文件的内容读出来。然后,替换相关标签写到指定的文件中。无论是读写,都遇到了中文乱码问题。试过多种方法,发现下面一种可以避免中文乱码。(无论读取还是写入一定要进行编码转换。) 1、java读取文件,避免中文乱码。 public static string readfile(string filepathandname) { string filecontent = ""; try { file f = new file(filepathandname); if(f.isfile()&&f.exists()){ inputstreamreader read = new inputstreamreader(new fileinputstream(f),"utf-8"); bufferedreader reader=new bufferedreader(read); string line; while ((line = reader.readline()) != null) { filecontent += line; } read.close(); } } catch (exception e) { system.out.println("读取文件内容操作出错"); e.printstacktrace(); } return filecontent; } 2、java写入文件,避免中文乱码。 public static void writefile(string filepathandname, string filecontent) { try { file f = new file(filepathandname); if (!f.exists()) { f.createnewfile(); } outputstreamwriter write = new outputstreamwriter(new fileoutputstream(f),"utf-8"); bufferedwriter writer=new bufferedwriter(write); //printwriter writer = new printwriter(new bufferedwriter(new filewriter(filepathandname))); //printwriter writer = new printwriter(new filewriter(filepathandname)); writer.write(filecontent); writer.close(); } catch (exception e) { system.out.println("写文件内容操作出错"); e.printstacktrace(); } } 我试过写入的时候用 1、printwriter writer = new printwriter(new bufferedwriter(new filewriter(filepathandname))); 2、printwriter writer = new printwriter(new filewriter(filepathandname)); 都不行。 以上代码经过运行可以避免中文乱码,关键是要编码转换。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
我家捡到出生几天女弃婴,现已11个月。无出生
西铁城的型号怎么看?
DNF来自地狱的生物 做完可以得什么重要好东西
电动自行车20寸24寸26寸买哪个好
【英语翻译】我颠覆了整个世界 只为摆正你的
一个鼠右面加一个召念什么
新文化运动兴起的标志是AA. 1915年《青年杂志
金钻文体用品这个地址在什么地方,我要处理点
潮州的介绍
【卡拉瓦乔作品】列举卡拉瓦乔的三件代表作品
砂浆试块录制芯片能用混泥土的录制芯片软件用
我13岁了胸部发育比较快跑步怎么办
网购大神帮帮忙!我在淘宝买了一双鞋子,因为
中信信用卡前后消费交易商户地址不一样会影响
"披头士"最经典的歌
推荐资讯
建行储蓄卡能开通京东白条吗好像有人说必须得
滩是怎么读
暖通专家进。厂房内暖气平米造价
广西那里收桉木木心
好恨自己明明不甘平凡,,,却又不努力
简便运算 2.8x(6.18-3.03) 0.25x7.3x3x4 (
斌坤食品这个地址在什么地方,我要处理点事
雪暖羽绒服地址有知道的么?有点事想过去
中恳百货广场附近有没有商铺出租啊?
合脊是什么意思
出差两周,家中的花草怎么办?
用发酵粉怎么发面
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?