Java 如何通过套接字将编码文件从Delphi发送到Android
我正在尝试通过套接字将编码文件从delphi发送到android 我使用的是delphi xe4 这是我的delphi代码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代码
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都终止该行。