你好我想给你的文件权限,以读模式或写模式打开 .ext包含文件扩展名,file_name包含文件名。 f_p是一个可验证的地方,我将输入设置为'r'或'w'模式。这里我在不同的位置使用相同的文件
但是在这段代码中我得到了错误 找不到符号:方法setReadable(boolean) location:fos2的类型为FileOutputStream
<%
这里的一些代码
FileInputStream fis2 = new FileInputStream(“e:/ profile / epy /”+ file_name +“。ext”);
FileOutputStream fos2 = new FileOutputStream("e:/decrypt/"+file_name+"."+ext);
if(f_p.equals("R")||f_p.equals("r"))
{
fos2.setReadable(true);
}
else if(f_p.equals("W")||f_p.equals("w"))
{
fos2.setWritable(true);
}
//这里有一些代码
答案 0 :(得分:0)
当前代码使用了错误的类(FileOutputStream)。
File f = new File(SOME_PATH);
if ("r".equalsIgnoreCase(f_p)) {
f.setReadable(true);
...
}
if ("w".equalsIgnoreCase(f_p)) {
f.setWritable(true);
...
}
但是,应该小心假设一个人想要没有读访问权的写访问权。 OP代码中的假设是f_p
具有单个值“R”或“W”,并设置权限。应仔细检查此假设,尤其是跨操作系统。
此外,如果以后必须使用FileOutputStream
(实际输出),它有一个带File
对象的构造函数,因此创建File
没有任何损失在这种情况下对象,然后创建FileOutputStream fos = new FileOutputStream(f);
,其中'f'是先前实例化的File对象。