import java.io.File
import java.io.IOException
public class FileReadAttribute
{
public static void main(String[] args) throws IOException
{
File file = new File("c:/file.txt")
/逗卖/肆猛mark this file as read only, since jdk 1.2
file.setReadOnly()
if(file.canWrite()){
System.out.println("This file is writable")
}else{
System.out.println("This file is read only")
}
//revert the operation, mark this file as writable, since jdk 1.6
file.setWritable(true)
if(file.canWrite()){
System.out.println("This file is writable")
}else{
System.out.println("山雹逗This file is read only")
}
}
}
只读属性从属于文件系统的种类,比如NTFS、FAT、EXT3等的实现方法都不一样。zip格式标准中,没有规定怎么去记录文件属性。就是说,即使设了属性,解码器也不强制需要遵守,不一定乎纯会还原成只读文件。
目前可还原只读属性的解压器都是遵守win/dos下的某种“潜规则”,把属性放在扩展区块extra
field中。Java可以用ZipEntry.setExtra设置这些扩岁知咐展驱。
可以自己用压缩一个只读文件猛唤的zip,然后用ZipEntry.getExtra照抄分析出这种潜规则。
通过RandomAccessFile这个类来访问文件。具体可以查看jdk的api。RandomAccessFile raf = new RandomAccessFile("文件path", "r")
raf.readLine()//从此文件读取文本的下一行。
raf.read()// 从此文旁帆件中读取一个数据字节。
更多方法请查看api。
第一个参数是文陆简件的路径,第二个参数r是只运悉雹读。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)