Java简单文件传输 socket简单文件传输示例
服务器端代码:
import java.io.*;
import java.net.*; /**
* Created with IntelliJ IDEA.
* User: HYY
* Date: 13-10-30
* Time: 下午2:15
* To change this template use File | Settings | File Templates.
*/
public class Server { public static void main(String[] args) {
ServerSocket serverSocket;
BufferedInputStream bufferedInputStream;//文件读取流
DataOutputStream dataOutputStream;//向客户端发送的数据流
try {
serverSocket = new ServerSocket(10000);
Socket socket = serverSocket.accept();
System.out.println("客户端连接。");
dataOutputStream = new DataOutputStream(socket.getOutputStream());
bufferedInputStream = new BufferedInputStream(new FileInputStream("c:/temp.sql"));
byte[] buffer = new byte[8192];
int read;
while ((read = bufferedInputStream.read(buffer)) != -1) {
dataOutputStream.write(buffer, 0, read);
dataOutputStream.flush();
}
System.out.println("文件传输完毕!");
bufferedInputStream.close();
dataOutputStream.close();
socket.close();
} catch (IOException e) {
e.printStackTrace();
System.exit(-1);
} }
}
客户端代码:
import java.io.*;
import java.net.*; /**
* Created with IntelliJ IDEA.
* User: HYY
* Date: 13-10-30
* Time: 下午2:29
* To change this template use File | Settings | File Templates.
*/
public class Client {
public static void main(String[] args) {
DataInputStream dataInputStream;//从服务器读取数据输入流
FileOutputStream fileOutputStream;//写入本地文件流
try {
Socket socket = new Socket("127.0.0.1", 10000);
System.out.println("连上服务器。");
dataInputStream = new DataInputStream(socket.getInputStream());
File file = new File("d:/temp_copy.sql");
fileOutputStream = new FileOutputStream(file);
byte[] buffer = new byte[8192];
int read;
while ((read=dataInputStream.read(buffer))>0) {
fileOutputStream.write(buffer, 0, read);
}
System.out.println("文件接收完毕!");
fileOutputStream.close();
dataInputStream.close();
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
Java简单文件传输 socket简单文件传输示例的更多相关文章
- JAVA IO总结及socket简单实现
为了方便理解与阐述,先引入两张图: a.Java IO中常用的类 在整个Java.io包中最重要的就是5个类和一个接口.5个类指的是File.OutputStream.InputStream.Writ ...
- java socket 多线程网络传输多个文件
http://blog.csdn.net/njchenyi/article/details/9072845 java socket 多线程网络传输多个文件 2013-06-10 21:26 3596人 ...
- Java开发笔记(一百一十五)使用Socket开展文件传输
前面介绍了怎样通过Socket在客户端与服务端之间传输文本,当然Socket也支持在客户端与服务端之间传输文件,因为文件本身就是通过I/O流实现读写操作的,所以在套接字的输入输出流中传输文件真是再合适 ...
- Java学习笔记——Socket实现文件传输
我越是逃离,却越是靠近你. 我越是背过脸,却越是看见你. 我从你开始, 我在你结束. 需求:实现局域网下socket传输文件. 客户端步骤: 1.建立与服务器的连接 2.创建client输出流 3.创 ...
- 洗礼灵魂,修炼python(86)--全栈项目实战篇(12)—— 利用socket实现文件传输/并发式聊天
由于本篇博文的项目都很简单,所以本次开个特例,本次解析两个项目,但是都很简单的 项目一:用socket实现文件传输 本项目很简单,作为小项目的预热的,前面刚学完socket,这里马上又利用socket ...
- JAVA之旅(三十三)——TCP传输,互相(伤害)传输,复制文件,上传图片,多并发上传,多并发登录
JAVA之旅(三十三)--TCP传输,互相(伤害)传输,复制文件,上传图片,多并发上传,多并发登录 我们继续网络编程 一.TCP 说完UDP,我们就来说下我们应该重点掌握的TCP了 TCP传输 Soc ...
- java文件断点续传的简单实现
一.概述 所谓断点续传,其实只是指下载,也就是要从文件已经下载的地方开始继续下载.在以前版本的HTTP协议是不支持断点的,HTTP/1.1开始就支持了.一般断点下载时才用到Range和Content- ...
- 通过Socket连接一次传输多个文件
近期在做一个通过WIFI在手机之间传输文件的功能.须要在手机之间建立一个持久的Socket 连接并利用该连接数据传输.能够一次传输一个或多个文件. 在一次传输多个文件时,遇到了一个困难:怎样在接收文件 ...
- Java文件I/O简单介绍
目录 一.File类 1.1 构造方法 1.2 常用方法 1.3 例子 二.基础I/O:字节流.字符流 2.1 字节流 2.1.1 字节输出流 OutputStream 2.1.2 FileOutpu ...
随机推荐
- ArrayList() 输出
import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.Li ...
- 【转载】Spark SQL之External DataSource外部数据源
http://blog.csdn.net/oopsoom/article/details/42061077 一.Spark SQL External DataSource简介 随着Spark1.2的发 ...
- Android系统简介(中):系统架构
Android的系统架构栈分为4层,从上往下分别是Applications.Application framework.Libraries & Android Runtime.Linux ...
- 第一篇、CSS3_transtion的使用
<html> <head> <title>这是一个CSS3的特性</title> <style> #box{ width: 150px; h ...
- asp:保留两位小数:
<%=Formatnumber(-6665.8999,3,-1,-1,0)%>(6665.900)一个例子用到了函数Formatnumber()的所有参数:第一个参数(-6665.8999 ...
- Eclipse Memory Analysis进行堆转储文件分析
生成堆转储文件 新建项目,设置Eclispe Java堆的大小: (1)限制Java堆大小:将最小值 -Xms参数与最大值-Xmx参数设置一样可避免堆的扩展 -Xmx20m -Xms2 ...
- Mustache
简要介绍 玩过node的人应该都知道ejs,jade. mustache和他们一样都是模板渲染引擎,我个人喜欢mustache,因为他非常简洁,代码量才600多行. mustache既可以在前端使用, ...
- linux操作系统使用3G网卡
几个月前,opensuse13.2出了,一直手痒痒,一有空装了一个.当时在学校,一直用着校园网,也好久没有使用3G网卡.回家的时候,办了个3G网卡,结果插电脑上没有反应,以前插上去,都会提示创建一个网 ...
- php 加密解密方法
<?php//可用于加密解密,如cookie,账号,手机号 as so on class DES { var $key; var $iv; //偏移量 function __construct( ...
- Andorid游戏2048开发(一)
最近有一款Android平台下的游戏很是火爆----2048.下面记录一下开发过程.由于笔者是Android开发的初学者,所以希望借以此文熟悉整个Android开发的流程. 首先创建Game2048的 ...