Windows 7 blocking java.io.File methods? -


here's program takes pdf files in given folder, adds date prefix , filters out umlauts. worked on win xp install not on fresh win7 one, exact same code terminates because of nullpointerexception in replacesymbolsindir(string)'s line 4, that's empty line right before for-loop.

i triggered process compiling in eclipse:

import java.io.file;  public class loadfile {   public static string dir = "c:\\users\\username\\desktop\\pdfdirectory\\"; public static string date = "130406";  public static void main(string args[]) {          replacesymbolsindir(dir);         addprefix(dir, date + "-");          }   public static void replacesymbolsindir(string path){      file folder = new file(path);     file[] filearray = folder.listfiles();      for(int = 0; i<filearray.length; i++) {         file currentfile = filearray[i];         if(currentfile.getname().tolowercase().endswith(".pdf")) {             currentfile.renameto(new file(path, replacesymbolsinstring(currentfile.getname())));         }     } }  public static string replacesymbolsinstring(string s) {     //figure out regex     string result = s.replace('ä','a');     result = result.replace('ö','o');     result = result.replace('ü','u');     result = result.replace('ß','s');     result = result.replace(' ','-');      return result; }  public static void addprefix(string path, string prefix) {      file folder = new file(path);     file filearray[] = folder.listfiles();      for(int = 0; i<filearray.length; i++) {          file currentfile = filearray[i];         if(!currentfile.getname().startswith(prefix) && currentfile.getname().tolowercase().endswith(".pdf")) {             string newname = prefix + "" + currentfile.getname();             currentfile.renameto(new file(path, newname));         }     } } } 

is win7 blocking methods try find information files , folders? seems like

folder.listfiles(); 

is coming null , that's issue.

any ideas besides path being wrong? because that's ctrl+c/v out of explorer window plus escapes , should therefore correct.

edit: i'm running program on existing user account, account management window labels "admin". running cmd after opening cmd admin produces npe.

edit2: said, folder defaults being write protected , can't changed, that's seems root cause. i'll it...

windows 7 doesn't allow 1 user read files or folders in user's directory default, whereas windows xp does. you'll need 1 of 2 things:

  1. get user folder grant 'read' permission user running code, or
  2. run code elevated permissions (e.g. elevated command prompt) using uac.

Comments

Popular posts from this blog

javascript - jQuery: Add class depending on URL in the best way -

caching - How to check if a url path exists in the service worker cache -

Redirect to a HTTPS version using .htaccess -