各位兄弟,不要只看一眼就不管俺的痛苦了!!!! 我的buf设的是512,我将部分代码贴出: BufferedInputStream input=null; OutputStream output=null; try { byte[] bytearray = new byte[512];//建立内存块,使用分块传输加快io速度 int len = 0; input = new BufferedInputStream(new FileInputStream("F:\\1018.rar"),512); output = con.getOutputStream(); BufferedOutputStream bOut = new BufferedOutputStream(output,512); /* PrintWriter pr = new PrintWriter(new OutputStreamWriter(output)); pr.print("hello Mr Server ,this is the file from DaytimeClientServlet1,please recieve\n"); pr.close();//close中会先flush */ bOut.write("hello Mr Server ,this is the file from DaytimeClientServlet1,please recieve\r".getBytes(),0,"hello Mr Server ,this is the file from DaytimeClientServlet1,please recieve\r".getBytes().length); bOut.flush(); while ((len = input.read(bytearray)) != -1) { bOut.write(bytearray, 0, len); bOut.flush(); } input.close(); output.close();
直接调用外层的flush()就可以。
我的buf设的是512,我将部分代码贴出:
BufferedInputStream input=null;
OutputStream output=null;
try {
byte[] bytearray = new byte[512];//建立内存块,使用分块传输加快io速度
int len = 0;
input = new BufferedInputStream(new FileInputStream("F:\\1018.rar"),512);
output = con.getOutputStream();
BufferedOutputStream bOut = new BufferedOutputStream(output,512);
/*
PrintWriter pr = new PrintWriter(new OutputStreamWriter(output));
pr.print("hello Mr Server ,this is the file from DaytimeClientServlet1,please recieve\n");
pr.close();//close中会先flush
*/
bOut.write("hello Mr Server ,this is the file from DaytimeClientServlet1,please recieve\r".getBytes(),0,"hello Mr Server ,this is the file from DaytimeClientServlet1,please recieve\r".getBytes().length);
bOut.flush();
while ((len = input.read(bytearray)) != -1) {
bOut.write(bytearray, 0, len);
bOut.flush();
}
input.close();
output.close();
InputStream input = req.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(input),512);
String x = br.readLine();//读第一句
try{
String newx = new String("Server received it:" + x);
char[] chararray = new char[512]; //建立内存块,使用分块传输加快io速度
int len = 0;
while ( (len = br.read(chararray)) != -1) {
fw.write(chararray, 0, len);
fw.flush();
}
input.close();
fw.close();
这是我的服务端读取的代码,我想把它以别的文件名林村
RandomAccessFile(dir+"/"+str,"rw");
Socket tempSocket = new Socket(host,tempPort);
InputStream inSocket
= tempSocket.getInputStream();
byte byteBuffer[] = new byte[1024];
int amount;
try{
while((amount =inSocket.read(byteBuffer) )!= -1){
inFile.write(byteBuffer, 0, amount);
}
inSocket.close();
out.println("226 transfer complete");
inFile.close();
tempSocket.close();
}
catch(IOException e){}
}
楼主看看这段代码
用java来实现ftp的