我一直在尝试通过Socket
连接发送一个大文件,但它运行缓慢,我想知道是否可以通过某种方式优化此代码以提高传输速度。
这是我发送文件的代码:
byte[] buffer = new byte[65536];
int number;
while ((number = fileInputStream.read(buffer)) != -1) {
socketOutputStream.write(buffer, 0, number);
}
socketOutputStream.close();
fileInputStream.close();
这是我用来在另一台机器上接收文件的方法:
byte[] buffer = new byte[65536];
InputStream socketStream= clientSocket.getInputStream();
File f=new File("C:\\output.dat");
OutputStream fileStream=new FileOutputStream(f);
while ((number = socketStream.read(buffer)) != -1) {
fileStream.write(buffer,0,number);
}
fileStream.close();
socketStream.close();
我认为写入 fileStream 占用了大部分时间。任何人都可以提供任何建议来加快此代码的速度。