Java 我想将数据从pc传输到我正在使用以下代码的android手机,我无法获取工作目录
代码中出现以下错误: java.io.IOException:运行exec时出错。命令:[/adb,-s,9774d56d682e549c,push,C:\Documents,and,Settings\My,Documents\other\music\b.wma\sdcard\music]工作目录:null环境:nullJava 我想将数据从pc传输到我正在使用以下代码的android手机,我无法获取工作目录,java,android,Java,Android,代码中出现以下错误: java.io.IOException:运行exec时出错。命令:[/adb,-s,9774d56d682e549c,push,C:\Documents,and,Settings\My,Documents\other\music\b.wma\sdcard\music]工作目录:null环境:null public class TransferData extends Activity { private String device_id ; private String
public class TransferData extends Activity {
private String device_id ;
private String from = "C:\\Documents and Settings\\My Documents\\other\\music\\b.wma ";
private String to ="\\sdcard\\music";
private static final String ADB_PUSH = "\"" /*+ Utility.getWorkDir()*/ + File.separator + "adb\" -s %s push \"%s\" %s";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.splash);
device_id = Secure.getString(getBaseContext().getContentResolver(),Secure.ANDROID_ID);
push(device_id,from,to);
}
/** Pushes a file to a connected device via ADB
* @param deviceId Device serial number
* @param from Path of source file (on PC)
* @param to Path of file destination (on device) */
public static void push(String deviceId, String from, String to) {
try {
String cmd = String.format(ADB_PUSH, deviceId, from, to);
System.out.println("adb push: " + cmd);
Process p = Runtime.getRuntime().exec(cmd);
InputStream is = p.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
String line;
while ((line = br.readLine()) != null) {
System.out.println("adb: " + line);
}
} catch (IOException e) {
System.out.println(e);
}
}
}您无法从android访问计算机磁盘驱动器 只需将b.wma保存在资产文件夹中 然后使用以下代码来使用b.wma
希望这对您有所帮助。通往b.wma的路径之间有空格。尝试将其移动到没有任何空格的路径。thanx tanmay但是如果我想传输文件或文件夹,我应该怎么做?vindaaron您不能将文件或文件夹传输到android应用程序。唯一的方法是您必须在apk中打包文件或文件夹,或者在运行时从服务器使用文件或文件夹。
try {
InputStream is = context.getAssets().open(url);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}