title: Invoking SQLLoader from java, issues loading a file with name that contains @-signs
body: <p>I have to load a file with a file name containing @ symbol. </p>
  
  <p><strong>i am invoking the sql loader from my java class.</strong></p>
  
  <p>Currently when i try to load a file with @ symbol in the file name,  the sql loader is not able to load the file.  </p>
  
  <p>The SqlLoader log says:-</p>
  
  <p>SQL*Loader-503: Error appending extension to file (/FileWith@Symbol.csv)</p>
  
  <p>SQL*Loader-567: unable to derive file name</p>
  
  <p>SQL*Loader-509: System error: Error 0</p>
  
  <p>Commands sent to SqlLoader are below</p>
  
  <pre><code>String[] cmd = new String[]   
  {  
                      sqlldrPath ,  
                      user + "/" + password + "@" + sid,  
                      "control=" + file.getAbsolutePath(),  
                      "direct=true",  
                      "log=" + log.getAbsolutePath() + File.separator  
                              + lr.getTempTable() +".log"};  
  
  String[] env = new String[]  
   {  
                      "ORACLE_HOME="+oracleHome,
                      "LD_LIBRARY_PATH="+oracleLibPath+":"+oracleLib32Path+":$LD_LIBRARY_PATH"              
  };
  </code></pre>
  
  <p>Calling SqlLoader here with the above cmd and env  string arrays.</p>
  
  <pre><code> Process p = Runtime.getRuntime().exec(cmd, env);
  </code></pre>
  
  <p>I found <a href="https://stackoverflow.com/questions/2818987/sqlloader-with-a-password-that-contains-signs">SQLLoader with a password that contains @-signs</a></p>
  
  <p>which talks about escaping @ sign in the password but is it possible to escape @ sign if it is in the file name?  </p>
  
  <p>Thank you. </p>