Java 创建只读文件
我想知道是否有可能在创建时创建或模拟一个包含内容集的文件,并保证任何人都不能更改该文件。Java 创建只读文件,java,file,protection,readonly,Java,File,Protection,Readonly,我想知道是否有可能在创建时创建或模拟一个包含内容集的文件,并保证任何人都不能更改该文件。 如果可能的话,我可以用java来做吗?是的,我们可以使用setReadOnly()方法在java中创建只读文件 使用此方法后,您将无法写入或编辑该文件 import java.io.File; public class FileReadOnly { public static void main(String[] args) { File file = new File("c:/file.tx
如果可能的话,我可以用java来做吗?是的,我们可以使用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());
}
}
如果您只需要创建一个只读文件,那么下面的代码就足够了吗?除非我在你的问题中遗漏了什么:
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());
}
}
将文件设置为只读不会使其成为任何人都无法更改的文件。取消设置只读标志大约需要3秒钟。然后,可以在十六进制编辑器或其他可以处理文件类型的程序中打开该文件并进行更改。要使其设置为可写(true)而不允许再次写入,可以扩展该文件并重写setWritable()方法 它产生输出:
Before. canWrite? true
Set Writable False. canWrite? false
Set Writable True. canWrite? false
尝试:
- file.setReadOnly()文件
- Runtime.getRuntime().exec(“attrib”+“”+file.getAbsolutePath()+“”+R”)//(适用于Windows)
你可以把它写到DVD-R上,在那里可以替换,但是原件总是写着的。你是在寻找DVD-ROM吗?这是一种解决方案,但不幸的是,它的可扩展性不强,而且人们可能不太愿意插入DVD-ROM来运行程序:P这样做的用例是什么?如果有人运行我的程序并进行身份验证,我想确保网络来自服务器的服务到达用户注册我的程序的计算机,或者根本没有。(例如,如果有人复制程序和身份验证,并将其安装在另一台计算机上,我希望能够识别来自新计算机的请求是否无效)-我希望我没有混淆?o setWritable(true)是否足以再次写入?以后可能会更改文件的只读属性否?然后修改并设置该属性,这样我甚至不知道它发生了什么变化。但是可以直接使用另一个java进程来更改只读属性。是的,他们可以运行另一个进程,或者只需右键单击,选择“属性”并取消选中小框,然后继续处理文件。我可以运行另一个程序并再次将“可写”设置为“真”,不是吗?
Before. canWrite? true
Set Writable False. canWrite? false
Set Writable True. canWrite? false
File f=new File("abc.txt");
f.setReadOnly();