需要建两个类,分别作为服务器(接收文件)和客户端(发送文件)

1.服务器类:

import java.io.*;
import java.net.InetAddress;
import java.net.ServerSocket;
import java.net.Socket;/*** 服务器-用来接收文件*/
public class FileServer {public static void main(String[] args) {//自己的ip地址String ip = InetAddress.getLoopbackAddress().getHostAddress();int port = 33999;ServerSocket ss = null;try {ss = new ServerSocket(port);Socket s = ss.accept();//接收从服务器传来的文件
//            InputStream in;//接收的文件以ip地址为名显示String cip = s.getRemoteSocketAddress().toString().replace(".", "").replace(":", "") + ".jpg";System.out.println(cip);BufferedInputStream bis = new BufferedInputStream(s.getInputStream());//输出显示接收到的文件
//            File file;try {FileOutputStream fos = new FileOutputStream("D:/Users/Administrator/Desktop" + cip);byte[] buf = new byte[1024];int len = -1;while ((len = bis.read(buf)) != -1) {fos.write(buf, 0, len);}fos.close();} catch (IOException e) {e.printStackTrace();}} catch (IOException e) {e.printStackTrace();}}
}

2.客户端类:

import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;/*** 客户端-用来发送文件*/
public class FileClient {public static void main(String[] args) {String server_ip = "Localhost";//地址是谁,就发给谁,此处设的是本机int port = 33999;try {//            ServerSocket ss = new ServerSocket(port);Socket s = new Socket(server_ip, port);OutputStream os = s.getOutputStream();//向服务器发送文件
//            File file;FileInputStream fis = new FileInputStream("D:/JavaFiles/Train/bg_gray.jpg");//发送给服务器的文件地址//byte[] buf = new byte[1024];//每次以1kb传输int len = -1;while ((len = fis.read(buf)) != -1) {os.write(buf, 0, len);}os.flush();os.close();} catch (IOException e) {e.printStackTrace();}}
}

3.运行时,若自己测试(自己给自己传.jpg图片),先运行服务器类,再运行客户端类,成功运行后图片就会显示在服务器类填写的文件路径中.

java 网络编程之传输文件(一)相关推荐

  1. java网络编程TCP传输—流操作—拿到源后的写入动作

    在网络编程中的TCP传输里,拿到Socket的源后,应该怎么进行读写操作呢,下面我列举了两种方法,希望大家帮忙补充···· 1.利用byte数组作为一个缓冲区进行读写 客户端上传 1 //获取sock ...

  2. 【Java】 Java网络编程总结

     一.网络编程三要素: IP地址:每个设备在网络中的唯一标识. 端口号:每个程序在设备上的唯一标识. 协议:为计算机网络中进行数据交换而建立的规则或约定的集合. UDP: 面向无连接,数据不安全,速度 ...

  3. 实验五 Java网络编程及安全 实验报告 20135232王玥

    北京电子科技学院(BESTI) 实     验    报     告 课程:Java程序与设计         班级:1352 姓名:王玥 学号:20135232 成绩:             指导 ...

  4. NIO详解(一):java网络编程IO总结(BIO、NIO、AIO)

    1.基本概念 在Java网络通信中,最基本的概念就是Socket编程了.Socket又称"套接字" 向网络发出请求或者应答网络请求. Socket 和ServerSocket类库位 ...

  5. 【带你入门】java网络编程

    网络编程 网络编程对于很多的初学者来说,都是很向往的一种编程技能,但是很多的初学者却因为很长一段时间无法进入网络编程的大门而放弃了对于该部分技术的学习. 在 学习网络编程以前,很多初学者可能觉得网络编 ...

  6. 迈入JavaWeb第一步,Java网络编程基础,TCP网络编程URL网络编程等

    文章目录 网络编程概述 网络通信要素 要素一IP和端口号 要素二网络协议 TCP网络编程 UDP网络编程 URL网络编程 Java网络编程基础 网络编程概述 Java是Internet上的语言,它从语 ...

  7. Java 网络编程(超级详细)

    前言:本文是初学Java网络编程时所记录的学习笔记,方便以后查阅学习,同时也作为资料总结分享给大家,如果有问题欢迎指出!! 1. 网络编程 1.1 网络编程基本概念 1.网络 将不同区域的电脑连接到一 ...

  8. java网络编程_Java网络编程进阶:通过JSSE创建安全的数据通信

    小编说:本文作者孙卫琴,知名IT作家和Java专家.本文将通过一个范例向大家介绍JSSE是如何实现安全的网络通信的. 在网络上,信息在由源主机到目标主机的传输过程中会经过其他计算机.一般情况下,中间的 ...

  9. 菜鸟学习笔记:Java提升篇9(网络1——网络基础、Java网络编程)

    菜鸟学习笔记:Java提升篇9(网络1--网络基础.Java网络编程) 网络基础 什么是计算机网络 OS七层模型 Java网络编程 InetAddress InetSocketAddress URL类 ...

最新文章

  1. 一个Java程序员的面试心得,最终入职阿里
  2. Python学习---Python安装与基础1205
  3. 蛋壳公寓再获5亿美元C轮融资,老虎环球基金、蚂蚁金服联合领投
  4. Xcode6中使用initWithTitle:title image:image selectedImage:自定义图片
  5. [渝粤题库]西北工业大学电力系统自动装置
  6. 消费者行为分析_消费者行为分析-是否点击广告?
  7. ​《麻省理工科技评论》选出2019年全球十大突破性技术
  8. sql azure 语法_使用Azure门户监视安装了SQL Server的Azure计算机
  9. RSS 之父炮轰 Google 强推 HTTPS
  10. 判断wifi连接是否可用
  11. SQL Server 2014各版本区别
  12. Tensorflow搭建GAN网络
  13. 股票数据Scrapy爬虫-Python网络爬虫与信息提取-北京理工大学嵩天教授
  14. STM32下移植UCOSIII
  15. 计算机ip 地址异常,ip地址错误怎么修复?ip地址错误的修复方法
  16. 简智音科技:抖音与快手相比,谁的前景更好?
  17. 浏览器访问网站标签页小图标显示
  18. 大计划,大安排(一)
  19. 【滚动更新】Google退出中国后续报道之二
  20. 【MATLAB】数据拟合_阶数的确定

热门文章

  1. 卡塔尔世界杯︱足球游戏的打开方式
  2. 海外优秀资讯抢先看10:世界著名软件缺陷导致的灾难性案例详解之阿丽安娜火箭之殇
  3. Sentinel动态规则API模式命令【实战笔记】
  4. AT24C02 IIC总线调试记录
  5. C语言使用开源库libusb进行USB设备操作
  6. matlab描述统计分析步骤,数据的统计分析与描述matlab
  7. NVIDIA Jetson TK1学习与开发:如何解决输入和输出音频问题
  8. 项目管理理论中关于软件项目外包采购管理的探讨(转)
  9. 重启Vcenter命令
  10. Longines浪琴手表型号解释