public static void main(String[] args) {
try {
Socket s=new Socket("192.168.1.102",10003);
java.io.OutputStream os= s.getOutputStream();
BufferedInputStream bis=new BufferedInputStream(new FileInputStream("D:\\ssh\\artifacts.xml"));
System.out.println(bis.available());
byte[] b=new byte[bis.available()];
int count= bis.read(b);
System.out.println("把数据存储到数组完毕"+count);
os.write(b);
s.close();
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
以上为客户机 发送文件过去
try {
ServerSocket ss=new ServerSocket(10003);
Socket s= ss.accept();
InputStream is= s.getInputStream();
System.out.println(is.available());//这里无法得到文件的大小有时候发送字符串的时候 偶尔能接收到长度 有时候也接受不到
byte[] b=new byte[55555];
int a= is.read(b);
BufferedOutputStream bos=new BufferedOutputStream(new FileOutputStream("d:/bb.XML"));
System.out.println(a);
bos.write(b);
bos.close();
ss.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
以上为客户端
问题1:发送的数据服务端的is.available()方法为什么有时候接受不到发送的数据或者文件大小
问题2:为什么不能传输大文件 比如50M左右的文件
问题1:客户端 |