我在特定文件夹中有一个数据。我只知道身份证。但是数据的名称包含多个ID,因为我使用的是“listFiles”。出于安全原因,只有数据库可以进入文件系统,因为我想将java类上传到我的oracle中。但是我的Oracle数据库总是说它成功编译了Error而我不知道为什么。
这是我的代码:
CREATE OR REPLACE AND RESOLVE JAVA SOURCE NAMED MOVEFILE as `import java.io.*`;
public class MOVEFILE {
/**
* Eigentliche Methode zum Verschieben
*/
public static int moveFile(String orgPath, String gewPfad, String dateiID) {
File folder = new File(orgPath);
File[] listOfFiles = folder.listFiles(new FilenameFilter(){
@Override
public boolean accept(File folder, String name){return name.toLowerCase().contains(dateiID);}});
String orgDatei = listOfFiles[0].toString();
File org = new File(orgDatei);
File gew = new File(gewPfad);
if (!org.exists())
return 0;
if (gew.exists())
return 0;
if (copyFile(orgDatei, gewPfad) == 1)
if (deleteFile(orgDatei) == 1)
return 1;
return 0;
}
我有方法copyFile
和deleteFile
。当我在没有moveFile
的情况下编译它时,它会成功编译。
答案 0 :(得分:0)
除非您制作dateiID
listOfFiles
,否则您无法在为dateiID
定义的匿名内部类中引用final
。
此外,您不需要在import
行附近使用单引号。
你可以通过向数据库询问问题是什么来自己发现这一点,如下所示:
select *
from dba_errors
where name = 'MOVEFILE'
order by sequence;