Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/219.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android设备到PC,通过套接字连接进行文件传输_Java_Android_Sockets_Ip Address_Serversocket - Fatal编程技术网

Java Android设备到PC,通过套接字连接进行文件传输

Java Android设备到PC,通过套接字连接进行文件传输,java,android,sockets,ip-address,serversocket,Java,Android,Sockets,Ip Address,Serversocket,我正在通过Java应用程序将文件从Android仿真器传输到PC服务器。我的客户端应用程序上的代码是 File file = new File("/mnt/sdcard/sample.mp4"); //create file instance client = new Socket("10.0.2.2", 4444); byte[] mybytearray = new byte[(int) file.length()]; //create a byte array to file fileIn

我正在通过Java应用程序将文件从Android仿真器传输到PC服务器。我的客户端应用程序上的代码是

File file = new File("/mnt/sdcard/sample.mp4"); //create file instance
client = new Socket("10.0.2.2", 4444);
byte[] mybytearray = new byte[(int) file.length()]; //create a byte array to file

fileInputStream = new FileInputStream(file);
bufferedInputStream = new BufferedInputStream(fileInputStream); 

bufferedInputStream.read(mybytearray, 0, mybytearray.length); //read the file

outputStream = client.getOutputStream();

outputStream.write(mybytearray, 0, mybytearray.length); //write file to the output stream byte by byte
outputStream.flush();
bufferedInputStream.close();
outputStream.close();
client.close();

然而,当我在Android设备上运行它时,应用程序将无法工作。我想我应该用其他值(例如:我的PC服务器的IP地址)替换“10.0.2.2”。我应该在那里设置什么值?

定义“不起作用”。给我们异常、错误、堆栈跟踪,告诉我们出了什么问题。我在Logcat上没有看到任何相关的异常、错误等。客户端应用程序无法连接到服务器。假设您的设备连接到同一网络(您说您使用的是emulator,所以这不应该是问题),那么是的,您需要服务器的IP地址。如果没有连接,我希望其他任何东西都会抛出
IOException
或类似的异常。我注意到的一点是,您创建了一个新的
字节
数组,其大小与文件长度相同,但考虑到需要占用多少内存,它无法很好地处理大型文件。