public void recursiveTraversal(File fileObject){
if (fileObject.isDirectory()){
File allFiles[] = fileObject.listFiles();
for(File aFile : allFiles){
recursiveTraversal(aFile);
}
}else if (fileObject.isFile()){
System.out.println(indent + " " + fileObject.getName());
try {
String CanonicalPath = fileObject.getCanonicalPath();
String newCanonicalPath = CanonicalPath.replaceAll("\\", "\\\\");
System.out.println(newCanonicalPath);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
String newCanonicalPath = CanonicalPath.replaceAll("\\", "\\\\");
I have also tried just using replace("\\","\\\\")I am getting the Canonical path of the fileObject but when i try to replace '\' with '\\', in order to send it into the code parser which requires double backslashes (One of them is considered an escape character), I am running into errors.
[COLOR="red"] Exception in thread "main" java.util.regex.PatternSyntaxException: Unexpected internal error near index 1 \ ^ at java.util.regex.Pattern.error(Pattern.java:1724) at java.util.regex.Pattern.compile(Pattern.java:1477) at java.util.regex.Pattern.<init>(Pattern.java:1144) at java.util.regex.Pattern.compile(Pattern.java:834) at java.lang.String.replaceAll(String.java:1573) at com.foldertraversal.FolderTraversal.recursiveTraversal(FolderTraversal.java:35) at com.foldertraversal.FolderTraversal.recursiveTraversal(FolderTraversal.java:29) at com.foldertraversal.FolderTraversal.recursiveTraversal(FolderTraversal.java:29) at com.foldertraversal.FolderTraversal.traverse(FolderTraversal.java:20) at com.foldertraversal.Main.main(Main.java:10) [/COLOR]
I have tried a bunch of things but none of which seem to work so if anyone can figure it out I would be extremely grateful!


Sign In
Create Account


Back to top









