java.secunty.AccessControException: the Permission java.io.FilePermission /home/ ,read) has not bee

Posted gaoyuangaoyuan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java.secunty.AccessControException: the Permission java.io.FilePermission /home/ ,read) has not bee相关的知识,希望对你有一定的参考价值。

 

利用oracle的java写入服务器的文件夹文件的时候会出现类似这种报错,看到报错我们可以猜到是关于权限的问题。

 

 

 

只需要利用sys用户在sqlplus 或者 plsql的命令行模式下执行下列代码就使得对应用户获得对应目录的读、写、删的权限了。

 

exec dbms_java.grant_permission( \'testuser\', \'SYS:java.io.FilePermission\',\'/home/*\', \'read,write,delete\' );

 

bufferedReader.close();

如果一个try中写了:bufferedReader.close();,并在finally中又写一次bufferedReader.close();,这个有问题么?谢谢!
我的处理流程是:读一个文件的内容,然后进行解析处理,将处理过的内容放到另一个文件中,也就是涉及两个文件的close(),那是说将两个文件的close()都放到finally中?(fulsh()可以放在try中?),如果两个close都放在try中,然后根本不加finally,这样有问题么?

放在finally中的close能保证被执行,不过close外面还得有try/cache,如
try
...
finally
try
file1.close();
catch (IOException e)

try
file2.close();
catch (IOException e)


如果不放在finally中,那么万一在close之前出现任何异常,那么某个文件或者两个文件都不会被关闭。
如果这个程序运行后就马上关闭的话,问题也不大。如果是在服务器端的程序中,那么很可能出现文件一直没有被关闭,系统资源被占用的情况。
参考技术A 没什么问题吧,不会有异常,但是还是只放在finally里close一次就好
只要能保证close,放在哪里都可以

以上是关于java.secunty.AccessControException: the Permission java.io.FilePermission /home/ ,read) has not bee的主要内容,如果未能解决你的问题,请参考以下文章