我想知道是否有可能创建或模拟一个文件,在创建时设置一个内容,并保证没有人可以更改该文件。如果可能的话,我可以用java做吗?
发布于 2012-02-28 14:25:11
将文件设置为只读并不会使其无法更改,因此任何人都无法更改它。取消设置只读标志大约需要3秒。然后,可以在十六进制编辑器或其他可以处理文件类型的程序中打开该文件,并可以进行更改。
发布于 2012-02-28 14:18:03
是的,我们可以使用setReadOnly()方法在java中创建只读文件。
使用此方法后,您将无法写入或编辑该文件。
import java.io.File;
public class FileReadOnly {
public static void main(String[] args) {
File file = new File("c:/file.txt");
file.setReadOnly();
System.out.println("File is in read only mode");
}
}
或者也是以这种方式。
import java.io.File;
import java.io.IOException;
public class FileAttributesDemo {
public static void main(String[] args) throws IOException {
// Create a new file, by default canWrite=true, readonly=false
File file = new File("test.txt");
if (file.exists()) {
file.delete();
}
file.createNewFile();
System.out.println("Before. canWrite?" + file.canWrite());
// set to read-only, atau canWrite = false */
file.setWritable(false);
System.out.println("After. canWrite?" + file.canWrite());
}
}
发布于 2012-02-28 14:18:25
如果您只需要创建一个只读文件,那么下面的代码还不够吗?除非我在你的问题中漏掉了什么:
import java.io.File;
import java.io.IOException;
public class FileAttributesDemo {
public static void main(String[] args) throws IOException {
// Create a new file, by default canWrite=true, readonly=false
File file = new File("test.txt");
if (file.exists()) {
file.delete();
}
file.createNewFile();
System.out.println("Before. canWrite?" + file.canWrite());
// set to read-only, atau canWrite = false */
file.setWritable(false);
System.out.println("After. canWrite?" + file.canWrite());
}
}
https://stackoverflow.com/questions/9477257
复制相似问题