Server
public class Test4 {
private static int num = 1;
public static void main(String[] args) throws IOException {
ServerSocket servsock = new ServerSocket(7000);
File myFile = new File("src/ImageBase64/one.txt");
while (true) {
Socket sock = servsock.accept();
OutputStream out = sock.getOutputStream();
BufferedInputStream bis = new BufferedInputStream(new FileInputStream(myFile));
int count;
byte[] buffer = new byte[8192];
while ((count = bis.read(buffer)) > 0)
{
out.write(buffer, 0, count);
System.out.println(num++);
}
System.out.println("传送完成");
out.flush();
}
}
}
Client
public class Test5 {
private static int num = 1;
public static void main(String[] argv) throws Exception {
Socket sock = new Socket("111.187.144.106", 7000);
InputStream is = sock.getInputStream();
FileOutputStream fos = new FileOutputStream("one.txt");
int count;
byte[] buffer = new byte[2048];
while ((count = is.read(buffer)) > 0)
{
fos.write(buffer, 0, count);
// System.out.println(num++);
}
System.out.println("接收完成");
fos.flush();
fos.close();
}
}
public class Test4 {
private static int num = 1;
public static void main(String[] args) throws IOException {
ServerSocket servsock = new ServerSocket(7000);
File myFile = new File("src/ImageBase64/one.txt");
while (true) {
Socket sock = servsock.accept();
OutputStream out = sock.getOutputStream();
BufferedInputStream bis = new BufferedInputStream(new FileInputStream(myFile));
int count;
byte[] buffer = new byte[8192];
while ((count = bis.read(buffer)) > 0)
{
out.write(buffer, 0, count);
System.out.println(num++);
}
System.out.println("传送完成");
out.flush();
}
}
}
Client
public class Test5 {
private static int num = 1;
public static void main(String[] argv) throws Exception {
Socket sock = new Socket("111.187.144.106", 7000);
InputStream is = sock.getInputStream();
FileOutputStream fos = new FileOutputStream("one.txt");
int count;
byte[] buffer = new byte[2048];
while ((count = is.read(buffer)) > 0)
{
fos.write(buffer, 0, count);
// System.out.println(num++);
}
System.out.println("接收完成");
fos.flush();
fos.close();
}
}
Server.java
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;public class Test4 {
private static int num = 1; public static void main(String[] args) throws IOException {
ServerSocket servsock = new ServerSocket(7000);
File myFile = new File("src/log4j.properties");
Socket sock = servsock.accept();
OutputStream out = sock.getOutputStream();
BufferedInputStream bis = new BufferedInputStream(new FileInputStream(
myFile)); int count;
byte[] buffer = new byte[8192];
while ((count = bis.read(buffer)) > 0) {
out.write(buffer, 0, count);
System.out.println(num++);
}
System.out.println("传送完成");
out.flush();
sock.close();
}
}
Client.java
import java.io.FileOutputStream;
import java.io.InputStream;
import java.net.Socket;public class Test5 {
private static int num = 1; public static void main(String[] argv) throws Exception {
Socket sock = new Socket("localhost", 7000);
InputStream is = sock.getInputStream();
FileOutputStream fos = new FileOutputStream("one.txt");
int count;
byte[] buffer = new byte[2048];
while ((count = is.read(buffer)) > 0) {
fos.write(buffer, 0, count);
System.out.println("----");
}
System.out.println("接收完成");
fos.flush();
fos.close();
sock.close();
}
}
System.out.println("传送完成");
out.flush();
out.close();
谢谢理解,这东西环境不好配。
现在解决了
我没把out关闭。应该后面这个连接还要用。。
我的方法是在服务器端发送一个结束标志。。再根据这个标志关闭