编写错误JVM Oracle数据库移动数据的成功

时间:2016-06-16 12:58:53

标签: java oracle jvm

我在特定文件夹中有一个数据。我只知道身份证。但是数据的名称包含多个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;
}

我有方法copyFiledeleteFile。当我在没有moveFile的情况下编译它时,它会成功编译。

你能帮帮我吗?对不起,我的英语不好。如果您有任何疑问,我会尽快回答。谢谢:))

1 个答案:

答案 0 :(得分:0)

我认为伯杰在评论中说得对。

除非您制作dateiID listOfFiles,否则您无法在为dateiID定义的匿名内部类中引用final

此外,您不需要在import行附近使用单引号。

你可以通过向数据库询问问题是什么来自己发现这一点,如下所示:

select * 
from dba_errors 
where name = 'MOVEFILE' 
order by sequence;