import java.io.*;
import java.net.*;
class PicClient
{
public static void main(String[] args) throws Exception
{
if (args.length!=
1)
{
System.
out.println(
"请选择一个JPG格式的图片");
return;
}
File file =
new File(args[
0]);
if (!(file.exist() && file.isFile()))
{
System.
out.
out.println(
"该对象文件不存在,或者不是文件");
return;
}
if (!file.getName().endsWith(
".jpg"))
{
System.
out.
out.println(
"该文件不是jpg文件,请重新选择jpg文件");
}
if (file.length()>
1024*
1024*
5)
{
System.
out.
out.println(
"文件超过5M,拒绝上传");
}
Socket s =
new Socket(
"192.168.1.254",
10007);
FileInputStream fis =
new FileInputStream(file);
OutputStream
out = s.getOutputStream();
byte[] buf =
new byte[
1024];
int len =
0;
while ((len=fis.read(buf))!=-
1)
{
out.write(buf,
0,len);
}
s.shutdoenOutput();
InputStream
in = s.getInputStream();
byte[] bufIn =
new byte[
1024];
int num =
in.read(bufIn);
System.
out.println(
new String(bufIn,
0,num));
fis.close();
s.close();
}
}
class PicThread implements Runnable
{
private Socket s;
PicThread(Socket s)
{
this.s = s;
}
public void run()
{
int count =
1;
String ip = s.getInetAddress().getHostAddress();
try
{
System.
out.println(ip+
"...connected");
InputStream
in = s.getInputStream();
File file =
new File(ip++
"("+(count)+
")"+
".jpg");
while (file.exists())
file =
new File(ip++
"("+(count++)+
")"+
".jpg");
FileOutputStream fos =
new FileOutputStream(file);
byte[] buf =
new tyte[
1024];
int len =
0;
while ((len=
in.read(buf))!=-
1)
{
fos.write(buf,
0,len);
}
OutputStream
out = s.getOutputStream();
out.write(
"上传成功!".getByte());
fos.close();
s.close();
}
catch (Exception e)
{
throw new RuntimeException(ip+
"上传失败");
}
}
}
class PicServer
{
public static void main(String[] args) throws Exception
{
ServerSocket ss =
new ServerSocket(
10007);
while (
true)
{
Socket s = ss.accept();
new Thread(
new PicThread(s)).start();
}
}
}
转载请注明原文地址: https://ju.6miu.com/read-1307947.html