想获取文件的 权限信息 文件名字为a a.lrc 文件名a和a中间有个空格在adb shell 输入: ls -l sdcard/mp3/a\ a.lrc
得到
----rwxr-x system sdcard_rw 1217 2012-09-10 11:29 a a.lrc 想在程序中得到上面的信息,代码如下 //把a a.lrc变成 a\ a.lrc
filename = file.getName().replace(" ", "\\ ");
System.out.println(filename);
str1 = file.getParentFile().getPath()+"/";
str2 = "ls -l "+str1.substring(1)+filename;
System.out.println(str2); //输出----ls -l sdcard/mp3/a\ a.lrc (同上面的一样) try {
Process process=Runtime.getRuntime().exec(str2);
buffer=new BufferedReader(new InputStreamReader(process.getInputStream()));
System.out.println( buffer.readLine()); //-------输出null ,
//如果文件名字间没有空格就没有问题 可以输出正常结果 ,名字间有空格却不能得到 求解下
得到
----rwxr-x system sdcard_rw 1217 2012-09-10 11:29 a a.lrc 想在程序中得到上面的信息,代码如下 //把a a.lrc变成 a\ a.lrc
filename = file.getName().replace(" ", "\\ ");
System.out.println(filename);
str1 = file.getParentFile().getPath()+"/";
str2 = "ls -l "+str1.substring(1)+filename;
System.out.println(str2); //输出----ls -l sdcard/mp3/a\ a.lrc (同上面的一样) try {
Process process=Runtime.getRuntime().exec(str2);
buffer=new BufferedReader(new InputStreamReader(process.getInputStream()));
System.out.println( buffer.readLine()); //-------输出null ,
//如果文件名字间没有空格就没有问题 可以输出正常结果 ,名字间有空格却不能得到 求解下
试试,如果文件名有空格用ascii码表示试试。
filename = file.getName().replace(" ", "\\ ");
空格使用转义字符 \x20 试试。
这样对吗:filename = file.getName().replace(" ", "\\\\x20 ");
这样就完全不能输出了
.replaceAll(" ", "\" \"");解决问题!!!!空格前后加引号