用tcp上传文件,接收端下载写入后,返回数据
接收端能返回数据,但是接收端下载的文件内没有内容
public static void main(String[] args) throws IOException {
Socket socket = new Socket("127.0.0.1", 10000);
//本地流,用来读取本地文件
BufferedInputStream bis = new BufferedInputStream(new FileInputStream("E:\\Test\\code\\1.txt"));
//写到服务器,---网络流
OutputStream os = socket.getOutputStream();
BufferedOutputStream bos=new BufferedOutputStream(os);//用bos包装一下,提高效率
int b;
while ((b=bis.read())!=-1){
bos.write(b);//通过网络写到服务器
}
socket.shutdownOutput();//给服务器一个结束标记,表面文件传输完成
//接受返回数据
BufferedReader br=new BufferedReader(new InputStreamReader(socket.getInputStream()));
String line;
while ((line=br.readLine())!=null){
System.out.println(line);
}
socket.close();
bis.close();
}
}
public static void main(String[] args) throws IOException {
ServerSocket ss = new ServerSocket(10000);
Socket accept = ss.accept();
BufferedInputStream bis = new BufferedInputStream(accept.getInputStream());//从网络获取
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("E:\\Test\\code\\2.txt"));//写到本地流
int b;
while ((b = bis.read()) != -1) {
bos.write(b);
}
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(accept.getOutputStream()));
bw.write("上传成功");
bw.newLine();
bw.flush();
bos.close();
accept.close();
ss.close();
}
}
server能穿件文件,但是文件内没有内容
代码中我用的txt文件做的案例,用jpg的话能下载下来,但是idea提示需要外部打开
外部打开后能看见下载下来的内容
求解,感谢