Android读取外部存储卡停止Process process = Runtime.getRuntime().exec("df");

问题描述

使用自己的代码执行操作外部存储卡时,能够正常操作,代码如下:Processprocess=Runtime.getRuntime().exec("df");is=process.getInputStream();isReader=newInputStreamReader(is);bufferReader=newBufferedReader(isReader);StringstrLine=null;Patternpattern=Pattern.compile("[/\w-]+(s|S)(d|D)[/\w-]*");Matchermatcher=null;while((strLine=bufferReader.readLine())!=null){//}bufferReader.close();isReader.close();is.close();调用第三方jar,第三方也存在读取外部存储卡文件数据,结果在结束调用第三方工具后,再次调用我们的程序读取外部存储卡数据时我们的代码就在Processprocess=Runtime.getRuntime().exec("df");停止了。试了下面的代码Processprocess=Runtime.getRuntime().exec(command);StreamGobblererrorGobbler=newStreamGobbler(process.getErrorStream(),"ERROR");//kickoffstderrerrorGobbler.start();StreamGobbleroutGobbler=newStreamGobbler(process.getInputStream(),"STDOUT");//kickoffstdoutoutGobbler.start();process.waitFor();依然还是在Processprocess=Runtime.getRuntime().exec(command);阻塞,那位高手提供一点意见嘛

解决方案

时间: 2024-07-28 22:01:52

Android读取外部存储卡停止Process process = Runtime.getRuntime().exec("df");的相关文章

cmd-关于android 调用外部命令的问题(Runtime.getRuntime().exec参数)

问题描述 关于android 调用外部命令的问题(Runtime.getRuntime().exec参数) android 调用外部命令的问题(Runtime.getRuntime().exec参数)调用ls还有cat命名是没问题的,但是有些命令用不了,例如ll,打印显示环境有问题,不知道怎么解? 代码:private String ssss() { String TAG2 = ""CMD""; try { String cmd=""ls&quo

使用Runtime.getRuntime().exec()方法的几个陷阱 (转)

Process 子类的一个实例,该实例可用来控制进程并获得相关信息.Process 类提供了执行从进程输入.执行输出到进程.等待进程完成.检查进程的退出状态以及销毁(杀掉)进程的方法. 创建进程的方法可能无法针对某些本机平台上的特定进程很好地工作,比如,本机窗口进程,守护进程,Microsoft Windows 上的 Win16/DOS 进程,或者 shell 脚本.创建的子进程没有自己的终端或控制台. 它的所有标准 io(即 stdin.stdout 和 stderr)操作都将通过三个流 (g

java-android Runtime.getRuntime.exec()方法调用tcpdump抓包但文件无法保存

问题描述 android Runtime.getRuntime.exec()方法调用tcpdump抓包但文件无法保存 android内置程序调用tcpdump: Runtime.getRuntime().exec("/data/local/tcpdump -XvvennSs 0 -w /mnt/sdcard/cap.pcap -i eth0 tcp[20:2]=0x4745 or tcp[20:2]=0x4854 or tcp[20:2]=0x504f"); 该命令在cmd上可行,但让

图片-在android中使用Runtime.getRuntime().exec()方法

问题描述 在android中使用Runtime.getRuntime().exec()方法

java调用Runtime.getRuntime().exec执行解压RAR压缩包时只能在系统刚启动时解压一次,应该怎么解决?

问题描述 Processp=Runtime.getRuntime().exec(unrarCmd);iState=p.waitFor();核心语句就是上面两句,语句都正确,但只有在Tamcat重启时才能正常解压一次,很是郁闷,不知道怎么解决,如有高手赐教,不胜感激. 解决方案 解决方案二:该回复于2010-01-30 22:55:22被版主删除解决方案三:路过,两行代码看不出什么问题,整个流程贴出来还差不多解决方案四:....代码给的太少了,给你个能用的解压缩例子.java解压缩文件import

关于Runtime.getRuntime().exec 在windows和linux下运行的差异

问题描述 本人使用runtime类执行备份数据库的任务,分别在windows和linux环境下测试都能执行,windows下output会打印脚本出来而linux下output没有打印.如果注释掉两个线程,windows下会发生阻塞,主线程一直运行,linux下不会阻塞,线程正常结束.请问各位仁兄谁知道它内部的差异的原因?谢谢!核心代码如下:process=Runtime.getRuntime().exec("/opt/backup.sh");Threadesg=newStreamGo

请教Runtime.getRuntime().exec调用cmd时命令中有特殊字符的问题

问题描述 先看段代码Processp=Runtime.getRuntime().exec("cmd.exe/cwmic/node:127.0.0.1/user:administrator/password:123@&123cpuget");BufferdeReaderb=newBufferedReader(newInputStreamReader(process.getInputStream()));这段代码是java调用cmd执行wmic的命令获取远程目标的信息,该命令直接在

在java中用Runtime.getRuntime().exec(cmd)问题

问题描述 在java中用Runtime.getRuntime().exec(cmd)问题 在cmd指定,是持续读取数据时,总是要延迟一段时间后,一下子出现之前的信息后,又要延迟一会,感觉到信息满一定量后能读取 解决方案 Runtime.getRuntime().exec(cmd) cd关于java Runtime.getRunTime.exec(String command)的使用关于java Runtime.getRunTime.exec(String command)的使用

java类的问题-一个关于java Runtime.getRuntime.exec()的问题

问题描述 一个关于java Runtime.getRuntime.exec()的问题 比如 public class test { public static void main(String []args) { Runtime.getRuntime.exec("notepad") } } 我启动了一个记事本程序,如果我不关闭记事本程序,这个java程序是不会关闭的,求让记事本程序启动后程序就关闭的方法!!! 解决方案 网上用 java.awt.Desktop.getDesktop()