在Java/Android应用程序中使用目录 我想创建一个函数来执行以下操作:在它的中间替换一个充满潜在的“..”和“./”的任意字符串,指向一个绝对的文件名,其中删除了点和额外的斜线。例如:/data/data/org.hacktivity.datatemple/../../data//org.hacktivity.datatemple/..// private String validDirectory( String baseDirectory, String addOn ) { if ( baseDirectory + addOn ISN'T A VALID DIRECTORY ) { Toast(error); return baseDirectory; } else { // ex: /data/data/org.hacktivity.datatemple/../org.hacktivity.datatemple/ => /data/data/org.hacktivity.datatemple return TRIMMED VERSION OF baseDirectory + addOn; } }

在Java/Android应用程序中使用目录 我想创建一个函数来执行以下操作:在它的中间替换一个充满潜在的“..”和“./”的任意字符串,指向一个绝对的文件名,其中删除了点和额外的斜线。例如:/data/data/org.hacktivity.datatemple/../../data//org.hacktivity.datatemple/..// private String validDirectory( String baseDirectory, String addOn ) { if ( baseDirectory + addOn ISN'T A VALID DIRECTORY ) { Toast(error); return baseDirectory; } else { // ex: /data/data/org.hacktivity.datatemple/../org.hacktivity.datatemple/ => /data/data/org.hacktivity.datatemple return TRIMMED VERSION OF baseDirectory + addOn; } },java,android,Java,Android,您正在搜索文件对象的规范路径。使用getCaconicalPath()或getCanonocalFile()消除相对路径元素: File baseDir = new File(baseDirectory); File addOnDir = new File(baseDir, addOn); String canonicalPath = addOnDir.getCanonicalPath(); System.out.println(canonicalPath); // /data/data/o

您正在搜索
文件
对象的
规范路径
。使用
getCaconicalPath()
getCanonocalFile()
消除相对路径元素:

File baseDir = new File(baseDirectory);
File addOnDir = new File(baseDir, addOn);

String canonicalPath = addOnDir.getCanonicalPath();

System.out.println(canonicalPath); // /data/data/org.hacktivity.datatemple