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 ...
随机推荐
- JNDI初认识
JNDI即Java命名和目录接口,英文全称为Java Naming and Directory Interface,从字面上似乎十分晦涩,下面从理论和实际项目应用方面来阐述. 1.命名:在我们实际生活 ...
- Android Drawable系列(1):自定义背景以及注意事项
0. Shape自身属性 android:shape=["rectangle" | "oval" | "line" | "ring ...
- 解决64位win7系统IIS7[ODBC 驱动程序管理器]未发现数据源名称并且未指定默认驱动程序
从网上下载了一个asp系统,数据库是Access类型的,运行环境为 64位Windows 7系统,IIS7,运行系统后,报如下错误: Microsoft OLE DB Provider for ODB ...
- Appium Python Driver Api
- Cannot connect to (local) sql server 2008
Make following steps to solve the issue: Cannot connect to (local). ADDITIONAL INFORMATION: Login fa ...
- Java小程序---接口中抽象方法的实现(解决了JAVA语言不能多继承的问题)
public interface Sing { public static final String eyecolor="black"; public void sleep(); ...
- mysql基本知识
最大连接数show variables max_connections; select VARIABLE_VALUE from information_schema.GLOBAL_VARIABLES ...
- DataNavigator之分页
前言 做客户端也有两个月了,先前做列表都没有分页,可能考虑数据也不是很多,昨天做了一个页面,考虑到了数据的问题,所以改为分页查询.因为也是第一次用dev,用哪个控件分页呢,还是要去搜一下,得出的事Da ...
- WPF MVVM 中怎样在ViewModel总打开的对话框在窗体之前
今天在WPF的项目中,写打印插件,在ViewModel中对需要弹出打印对话框,而对话框如果没有Owner所属的时候经常会被当前应用程序遮住,导致我都不知道到底弹出来没有! 参照:http://www. ...
- HTML5的简介
前言:作为IOS开发工程师,终会接触到网页前端开发,甚至可能会有 用HTML5开发IOS的app客户端的需求.比如现在上架的app就有比如理财类型的app有的就用HTML开发的,从理财类型的app需求 ...