java中tcp傳圖片_Java學習之TCP上傳圖片

 2023-10-05 阅读 22 评论 0

摘要:import java.io.*;import java.net.*;class Client2 {public static void main(String[] args) throws Exception {File file = new File(args[0]);if (!file.exists() || file.isDirectory()) {sopln("文件不存在或不是文件");return;}if (!args[0].endsWith(

import java.io.*;

import java.net.*;

class Client2 {

public static void main(String[] args) throws Exception {

File file = new File(args[0]);

if (!file.exists() || file.isDirectory()) {

sopln("文件不存在或不是文件");

return;

}

if (!args[0].endsWith(".jpg")) {

sopln("圖片格式錯誤,請上傳jpg格式!");

return;

}

if (file.length() >= 1024*1024*5) {

sopln("圖片過大!");

return;

}

Socket s = new Socket("192.168.1.100", 10086);

FileInputStream fis = new FileInputStream(file);

OutputStream os = s.getOutputStream();

InputStream is = s.getInputStream();

byte[] buf = new byte[1024];

int len = 0;

while ((len=fis.read(buf)) != -1) {

os.write(buf, 0, len);

}

s.shutdownOutput();

int num = is.read(buf);

sopln(new String(buf, 0, num));

fis.close();

s.close();

}

public static void sopln(Object obj) {

System.out.println(obj);

}

}

class Server2 {

public static void main(String[] args) throws Exception {

ServerSocket ss = new ServerSocket(10086);

while (true) {

Socket s = ss.accept();

new Thread(new PicThread(s)).start();

}

}

public static void sopln(Object obj) {

System.out.println(obj);

}

}

class PicThread implements Runnable {

private Socket s;

PicThread(Socket s) {

this.s = s;

}

public void run() {

try {

String ip = s.getInetAddress().getHostAddress();

String name = s.getInetAddress().getHostName();

InputStream is = s.getInputStream();

int count = 1;

File file = new File(name + ".jpg");

while (file.exists()) {

file = new File(name + "(" + (count++) + ")" + ".jpg");

}

FileOutputStream fos = new FileOutputStream(file);

byte[] buf = new byte[1024];

int len = 0;

while ((len=is.read(buf)) != -1) {

fos.write(buf, 0, len);

}

OutputStream os = s.getOutputStream();

os.write("上傳成功".getBytes());

fos.close();

s.close();

} catch (Exception e) {

}

}

}

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/2/113742.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息