给文件读写权限

时间:2016-04-14 17:38:07

标签: java jsp

你好我想给你的文件权限,以读模式或写模式打开 .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);
                    }

//这里有一些代码

%GT; https://jsfiddle.net/wc8pccyL/

1 个答案:

答案 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对象。