Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/359.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/191.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 如何通过套接字将编码文件从Delphi发送到Android_Java_Android_Delphi_Sockets_Serversocket - Fatal编程技术网

Java 如何通过套接字将编码文件从Delphi发送到Android

Java 如何通过套接字将编码文件从Delphi发送到Android,java,android,delphi,sockets,serversocket,Java,Android,Delphi,Sockets,Serversocket,我正在尝试通过套接字将编码文件从delphi发送到android 我使用的是delphi xe4 这是我的delphi代码 procedure sendData(); begin dbdata = encodeFile('D:\data.sql'); Memo1.Text := dbdata; ssMobile.Socket.Connections[cmbDevice.ItemIndex].SendText(dbdata + #10#13); end; 这是我的android代码

我正在尝试通过套接字将编码文件从delphi发送到android 我使用的是delphi xe4

这是我的delphi代码

procedure sendData();
begin
  dbdata = encodeFile('D:\data.sql');
  Memo1.Text := dbdata;
  ssMobile.Socket.Connections[cmbDevice.ItemIndex].SendText(dbdata + #10#13);
end;
这是我的android代码

private void receiveFile() {
    try {
        BufferedReader input = new BufferedReader(new InputStreamReader(
                socket.getInputStream()));
        String read = input.readLine();
        if (!read.isEmpty()) {
            if (read.contains("enddb")){
                isFile = false;
            }
            byte[] dbAsBytes = read.getBytes();
            File filePath = new File(Environment.getExternalStorageDirectory()+"/data.sql");
            FileOutputStream os = new FileOutputStream(filePath, true);
            os.write(dbAsBytes);
            os.flush();
            os.close();
        }
    } catch (IOException e) {
        e.printStackTrace();
    }
}
这是我的备忘录

U1FMaXRlIGZvcm1hdCAzABAAAQEAQCAgAAAAPAAAAAkAAAAAAAAAAAAAAAUAAAAEAAAAAAAAAAkA
AAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AC3iJw0PowAHBn8AD6cL+Q9u
C5cG1QtuBn8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...
这是我收到的文件

U1FMaXRlIGZvcm1hdCAzABAAAQEAQCAgAAAAPAAAAAkAAAAAAAAAAAAAAAUAAAAEAAAAAAAAAAkA
U1FMaXRlIGZvcm1hdCAzABAAAQEAQCAgAAAAPAAAAA
U1FMaXRlIGZvcm1hdCAzABAAAQEAQCAgAAAAPAAA
U1FMaXRlIGZvcm1hdCAzABAAAQEAQCAgAAAAPA
U1FMaXRlIGZvcm1hdCAzABAAAQEAQCAgAAAA
U1FMaXRlIGZvcm1hdCAzABAAAQEAQCAgAA
U1FMaXRlIGZvcm1hdCAzABAAAQEAQCAg
我的代码有什么问题??
我收到的文件与我发送的数据不一致???

问题出在哪里?您的预期输出是什么?您是说您的代码有问题,但不清楚您认为错误的原因。@kkuilla我收到的文件与我的数据不一致。您是否检查了线路上传输的内容?也许这是服务器套接字组件中的一个bug。我建议使用英特网直接Indy或Synapse。小问题:为什么数据后面有两行终止符?对于readLine,\n和\r都终止该行。