返回信息流java小白,最近有个任务,其中有一部分需要实现下面的功能。
具体是这样的:用java实现这样一个功能,因为发现某个本地文件有可疑,需要将这个文件(很可能是视频文件)锁住,因为自己要对这个文件进行检测验证是否已被篡改,因此在没解锁之前不让任何人访问。试了File里面的setReadable(),setWritable()等方法,可是只能将文件设置成只读的,对于文本文件仍然可以打开,只是不能修改,但对于视频文件却仍然可以播放(我是希望做到让视频文件不能播放)。最后,希望实现方法能在windows和linux下都能顺利运行,并达到预期效果。
求大神帮忙,给个思路或者提示也行,谢谢了。
这是一条镜像帖。来源:北邮人论坛 / java / #40012同步于 2015/4/15
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖
【求助】用java实现:将某个本地文件锁住,在没解锁之前不让任
buptwds
2015/4/15镜像同步6 回复
订阅后,新回复会通过你的通知中心匿名送达。
6 条回复
那要怎么才能实现这种功能呢,而且还需要跨平台的啊
【 在 nuanyangyang 的大作中提到: 】
: 文件的访问控制是操作系统做的,需要操作系统的用户、权限等支持。
Linux下面修改rwx权限应该可以实现,但windows下实在是不知道如何实现,尤其是视频文件……
谢谢回答
【 在 nuanyangyang (暖羊羊) 的大作中提到: 】
: 每个平台上分别实现,然后封装一下。
通过『我邮2.0』发布
需求不明确: "没解锁之前不让任何人访问"
是谁在访问?通过什么途径怎么访问?为什么要支持跨平台?
如果访问者实际还是通过你的程序来访问,那要做限制是多种多样的,程序内部做访问控制逻辑即可,最简单的是发现在可疑文件后记录文件位置,再次访问时检查该文件是否可访问,甚至你直接改文件名及后缀都能实现你所说的不能播放视频。
访问者是第三方进程或未知情况时,其实跟杀毒软件的文件防护差不多,发现可疑文件时,直接备份加密后复制到自己的私有目录,即使别人有权打开并访问该文件也无法正确读取或运行。备件后直接删除原文件,实现访问控制。
另外java程序你跨平台是什么需求?java是跨平台不假,但实际开发中为了跨平台而使用java或者开发跨平台java程序的并不多见。
首先谢谢回复这么多,抱歉没说清楚
需求如下:对文件系统或者某个文件夹进行监控,发现有文件被篡改后即时锁住该文件,防止恶意修改文件的人将有害文件散播出去,至于跨平台是因为需要在两个系统中都能正确运行并达到这种需求,监控部分基本没什么问题了,现在就是锁文件这一块没什么思路,再次感谢回复,java小白,正在努力学java,这是老师给的一个小任务。
【 在 NotEnough (NotEnough) 的大作中提到: 】
: 需求不明确: "没解锁之前不让任何人访问"
: 是谁在访问?通过什么途径怎么访问?为什么要支持跨平台?
: 如果访问者实际还是通过你的程序来访问,那要做限制是多种多样的,程序内部做访问控制逻辑即可,最简单的是发现在可疑文件后记录文件位置,再次访问时检查该文件是否可访问,甚至你直接改文件名及后缀都能实现你所说的不能播放视频。
: ...................
通过『我邮2.0』发布