RandomAccessFile raf = new RandomAccessFile(new File("c:\\test.txt"), "rw"); FileChannel fc = raf.getChannel();
FileLock fl = fc.tryLock(); if (fl.isValid()) {
System.out.println("get the lock!");以上代码可以打开一个文件之后,不让其它线程或进程修改,但是在windows下一样可以打开它和复制它,我现在要做的功能是要打开一个文件之后(例如是一个EXE文件),不能给其它人打开,也不能复制或者是剪切这个文件.java怎样做到呢?大家帮一下我吧,这是项目的最后一个难题了.
FileLock fl = fc.tryLock(); if (fl.isValid()) {
System.out.println("get the lock!");以上代码可以打开一个文件之后,不让其它线程或进程修改,但是在windows下一样可以打开它和复制它,我现在要做的功能是要打开一个文件之后(例如是一个EXE文件),不能给其它人打开,也不能复制或者是剪切这个文件.java怎样做到呢?大家帮一下我吧,这是项目的最后一个难题了.
各位,我现在有一个新的想法,就是把解密后的文件隐藏起来,只有我的java程序可以打开运行它,用户在windows下是看不见的.可以实现吗?
不过,如果对C/C++比较熟的话,你可以采用另一种方式:数据拼接。将可执行文件拆解成若干个小的文件,在使用的时候拼接成一个大的内存文件在进行调用执行。