Skip to Main Content

SQL & PL/SQL

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Oracle 12c Upgrade Java Directory listing

reddy482Feb 25 2019 — edited Feb 25 2019

Hello Guru's

I have been using the below code authored by AskTom , and it lists all the files in a directory , however after upgrade to 12C its not working and errors out while during compilation.

I am primarily a SQL developer and have very less knowledge on Java. Any help is greatly appreciated.

CREATE OR REPLACE AND RESOLVE JAVA SOURCE NAMED "ListDir" as import java.io.*;

  import java.sql.*;

  public class DirListing

  {

    public static void getList(String directory , String file_format)

    throws SQLException

    {

      File path = new File( directory );

      String[] fileList = path.list();

      String fileName;

       String ReplacefileName;

      long fileSize;

      long fileDate;

      for(int i = 0; i < fileList.length; i++)

      {

        fileName = fileList[i];

        ReplacefileName = fileName.replaceAll("[0-9]","9");

        File lfile = new File(directory + '/' + fileName );

        fileSize = lfile.length();

        fileDate = lfile.lastModified();

        if ( fileName.endsWith(".txt")  && (ReplacefileName.equals( file_format) ) )

        {

          #sql { insert into DIRLIST (filename,filesize,filedate, filedir)

                 values (:fileName, :fileSize,to_date('01/01/1994','mm/dd/yyyy') + :fileDate /(24*60*60*1000), :directory

                 )

               };

        }

      }

    }

  }

[Error]  (0: 0): An exception has occurred in the compiler (1.8.0_121-ea). Please file a bug against the Java compiler via the Java bug reporting page (http://bugreport.java.com) after checking the Bug Database (http:

[Error]  (0: 0): java.lang.IllegalArgumentException

[Error]  (0: 0): at com.sun.tools.javac.util.JCDiagnostic.<init>(JCDiagnostic.java)

[Error]  (0: 0): at com.sun.tools.javac.util.JCDiagnostic$Factory.create(JCDiagnostic.java)

[Error]  (0: 0): at com.sun.tools.javac.util.JCDiagnostic$Factory.error(JCDiagnostic.java)

[Error]  (0: 0): at com.sun.tools.javac.util.AbstractLog.error(AbstractLog.java)

[Error]  (0: 0): at com.sun.tools.javac.parser.JavaTokenizer.lexError(JavaTokenizer.java)

[Error]  (0: 0): at com.sun.tools.javac.parser.JavaTokenizer.readToken(JavaTokenizer.java)

[Error]  (0: 0): at com.sun.tools.javac.parser.Scanner.nextToken(Scanner.java)

[Error]  (0: 0): at com.sun.tools.javac.parser.JavacParser.nextToken(JavacParser.java)

[Error]  (0: 0): at com.sun.tools.javac.parser.JavacParser.accept(JavacParser.java)

[Error]  (0: 0): at com.sun.tools.javac.parser.JavacParser.block(JavacParser.java)

[Error]  (0: 0): at com.sun.tools.javac.parser.JavacParser.block(JavacParser.java)

[Error]  (0: 0): at com.sun.tools.javac.parser.JavacParser.parseStatement(JavacParser.java)

[Error]  (0: 0): at com.sun.tools.javac.parser.JavacParser.blockStatement(JavacParser.java)

[Error]  (0: 0): at com.sun.tools.javac.parser.JavacParser.parseStatementAsBlock(JavacParser.java)

[Error]  (0: 0): at com.sun.tools.javac.parser.JavacParser.parseStatement(JavacParser.java)

[Error]  (0: 0): at com.sun.tools.javac.parser.JavacParser.blockStatement(JavacParser.java)

[Error]  (0: 0): at com.sun.tools.javac.parser.JavacParser.blockStatements(JavacParser.java)

[Error]  (0: 0): at com.sun.tools.javac.parser.JavacParser.block(JavacParser.java)

[Error]  (0: 0): at com.sun.tools.javac.parser.JavacParser.block(JavacParser.java)

[Error]  (0: 0): at com.sun.tools.javac.parser.JavacParser.parseStatement(JavacParser.java)

[Error]  (0: 0): at com.sun.tools.javac.parser.JavacParser.blockStatement(JavacParser.java)

[Error]  (0: 0): at com.sun.tools.javac.parser.JavacParser.parseStatementAsBlock(JavacParser.java)

[Error]  (0: 0): at com.sun.tools.javac.parser.JavacParser.parseStatement(JavacParser.java)

[Error]  (0: 0): at com.sun.tools.javac.parser.JavacParser.blockStatement(JavacParser.java)

[Error]  (0: 0): at com.sun.tools.javac.parser.JavacParser.blockStatements(JavacParser.java)

[Error]  (0: 0): at com.sun.tools.javac.parser.JavacParser.block(JavacParser.java)

[Error]  (0: 0): at com.sun.tools.javac.parser.JavacParser.block(JavacParser.java)

[Error]  (0: 0): at com.sun.tools.javac.parser.JavacParser.methodDeclaratorRest(JavacParser.java)

[Error]  (0: 0): at com.sun.tools.javac.parser.JavacParser.classOrInterfaceBodyDeclaration(JavacParser.java)

[Error]  (0: 0): at com.sun.tools.javac.parser.JavacParser.classOrInterfaceBody(JavacParser.java)

[Error]  (0: 0): at com.sun.tools.javac.parser.JavacParser.classDeclaration(JavacParser.java)

[Error]  (0: 0): at com.sun.tools.javac.parser.JavacParser.classOrInterfaceOrEnumDeclaration(JavacParser.java)

[Error]  (0: 0): at com.sun.tools.javac.parser.JavacParser.typeDeclaration(JavacParser.java)

[Error]  (0: 0): at com.sun.tools.javac.parser.JavacParser.parseCompilationUnit(JavacParser.java)

[Error]  (0: 0): at com.sun.tools.javac.main.JavaCompiler.parse(JavaCompiler.java)

[Error]  (0: 0): at com.sun.tools.javac.main.JavaCompiler.parseFiles(JavaCompiler.java)

[Error]  (0: 0): at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java)

[Error]  (0: 0): at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java)

[Error]  (0: 0): at oracle.aurora.jdkcompiler.JdkDriver.compile(JdkDriver.java)

[Error]  (0: 0): at oracle.aurora.rdbms.Compiler.doCompile(Compiler.java)

[Error]  (0: 0): at oracle.aurora.rdbms.Compiler.access$000(Compiler.java)

[Error]  (0: 0): at oracle.aurora.rdbms.Compiler$1.run(Compiler.java)

[Error]  (0: 0): at java.security.AccessController.doPrivileged(Native Method)

[Error]  (0: 0): at oracle.aurora.rdbms.Compiler.compile(Compiler.java)

Thanks in Advance

Comments
Post Details
Added on Feb 25 2019
2 comments
190 views