问题描述
各位高手们:我想在matlab中调用java程序,就是在matlab中写java代码,利用java的socket实现文件传输功能,请问下可以嘛
解决方案
解决方案二:
我知道可以在matlab中利用java的socket实现数据传输,不知道文件传输可以实现不。
解决方案三:
数据传输和文件传输的差别是你需要先打开文件并读取文件中的数据内容,这个动作Java能完成。
解决方案四:
我也是这样做的,但是最后还是不行。。。。您有没有做过这方面的啊
解决方案五:
引用4楼xiaolu114的回复:
我也是这样做的,但是最后还是不行。。。。您有没有做过这方面的啊
仅仅做过Demo而已。如何不行,不妨说说看...
解决方案六:
引用5楼magong的回复:
引用4楼xiaolu114的回复:我也是这样做的,但是最后还是不行。。。。您有没有做过这方面的啊仅仅做过Demo而已。如何不行,不妨说说看...
这是发送代码importjava.net.ServerSocketimportjava.io.*if(nargin<2)number_of_retries=5;%setto-1forinfiniteendretry=0;server_socket=[];output_socket=[];%file_name='java-sockettmp22.txt';file_name='java-sockettmp.txt';data=[];message='HelloWorld';%server_socket=ServerSocket(output_port);%server_socket.setSoTimeout(1000);whiletrueretry=retry+1;tryif((number_of_retries>0)&&(retry>number_of_retries))fprintf(1,'Toomanyretriesn');break;endfprintf(1,['Try%dwaitingforclienttoconnecttothis'...'hostonport:%dn'],retry,output_port);%waitfor1secondforclienttoconnectserversocketserver_socket=ServerSocket(output_port);server_socket.setSoTimeout(1000);output_socket=server_socket.accept;fprintf(1,'Clientconnectedn');file_lj=FileInputStream(file_name);fileobj=DataInputStream(file_lj,8192);output_stream=output_socket.getOutputStream;d_output_stream=DataOutputStream(output_stream);%d_output_stream.writeBytes(char(message));%fprintf(1,'Writing%dbytesn',length(message))%outputthedataovertheDataOutputStream%Converttostreamofbyteswhilefileobj.read(data)~=-1d_output_stream.write(data);endd_output_stream.flush;d_output_stream.close;%cleanupserver_socket.close;output_socket.close;break;catchif~isempty(server_socket)server_socket.closeendif~isempty(output_socket)output_socket.closeend%pausebeforeretryingpause(1);endendend
解决方案七:
我做了个数据传输的,可以成功,但文件的时候失败了