运用tcp协议创建上传文件

牢记buffered需要刷新flush

package loadfile;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.Writer;
import java.net.Socket;
import java.net.UnknownHostException;

public class Client {

	public static void main(String[] args) throws UnknownHostException, IOException {
		// TODO Auto-generated method stub
		Socket s = new Socket("192.168.2.143",10003);
		BufferedReader br = new BufferedReader(new FileReader("client.txt"));
		BufferedWriter bwout = new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));

		int ch = 0;
		while((ch = br.read()) != -1)
		{
			bwout.write(ch);
			bwout.flush();
		}
		s.shutdownOutput();

		BufferedReader brin = new BufferedReader(new InputStreamReader(s.getInputStream()));
		String line = null;
		line = brin.readLine();
		System.out.println(line);

		br.close();
		s.close();
		bwout.close();
		brin.close();
	}

}

package loadfile;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;

public class Server {

	public static void main(String[] args) throws IOException {
		// TODO Auto-generated method stub
		ServerSocket ss = new ServerSocket(10003);

		Socket s = ss.accept();
		BufferedReader brin = new BufferedReader(new InputStreamReader(s.getInputStream()));
		BufferedWriter brw = new BufferedWriter(new FileWriter("server.txt"));

		String line = null;
		while((line = brin.readLine()) != null)
		{
			brw.write(line);
			brw.newLine();
			brw.flush();
		}

		PrintWriter out = new PrintWriter(s.getOutputStream(),true);
		out.write("上传成功");

		ss.close();
		out.close();
		brin.close();
		brw.close();
	}

}

  

原文地址:https://www.cnblogs.com/WINDZLY/p/11925239.html

时间: 2024-10-04 07:41:14

运用tcp协议创建上传文件的相关文章

Android中利用HTTP协议实现上传文件到服务器

首先我们需要使用HTTP协议发送数据,我们就要知道HTTP发送上传文件到服务器的时候需要哪些头字段已经相关的配置,请看下图 这是使用浏览器模拟上传文件到服务器时候所发送的请求,我们可以看到它包含了请求头字段和实体部分,但是多了一个---------------------------7da2137580612,它实际上是一条分隔线,用于分隔实体数据的,他在使用分隔实体数据的时候会在前面包含多两个"-"而在结束的时候会在除了在前面都出两个减号"-"之外,还会在末尾都出

Android通过HTTP协议实现上传文件数据

SocketHttpRequester.java package cn.itcast.utils; import java.io.BufferedReader; import java.io.ByteArrayOutputStream; import java.io.DataOutputStream; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import

TCP通信(上传文件)

package demo04; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.Socket; public class TCPclient { public static void main(String[] args) throws IOException { //1.创建so

基于Tcp协议的上传下载

目录格式: 构建此目录就可随意使用! client端 import socket import sys import os import json import struct sk = socket.socket() adress = ('192.168.12.11', 29231) def upload(): message = {'filename': None, 'filesize': None} sk.connect(adress) temp = '上传' sk.send(temp.en

文件上传表单 上传文件的细节 文件上传下载和数据库结合

1 文件上传表单   1)上传文件的本质是文本复制的过程   2)技术层面,在Java中一定会用到IO操作,主要以二进制方式读写   3)传统方式下,对于上传文件字段不同的浏览器有着不同的解析方式,例如:     IE6:upfile=c:\aa\bb\a.JPG     非IE6: upfile=a.JPG   4)可以将form以MIME协议的方式将上传文件传递到服务端,服务端以二进制流的方式读写     代码:客户端form enctype="multipart/form-data&quo

struts2之如何向服务器上传文件

转载请注明:http://blog.csdn.net/uniquewonderq 问题:在struts2框架下实现文件上传 方案:struts2提供了拦截器可以自动实现文件上传,并且该拦截器存在于defaultStack中,是每个action默认使用的.复用之前的案例. 步骤一:打开上传页面 在struts.xml中,配置打开上传页面的action,代码如下: </pre><pre name="code" class="html"><?

使用commons-fileUpload组件上传文件

在近期的一个项目中有用到commons-fileUpload组件进行实现文件上传的功能(由于没用到框架),在使用的过程中有遇到一些问题,经过自己的琢磨也算顺利地将其解决了,在这里做个记录. 一.commons-fileUpload文件上传组件简介 commons-fileUpload上传组件是Apache的一个开源项目,可以到http://commons.apache.org/proper/commons-fileupload/下载最新版本(该组件需要commons-io包的支持).该组件使用方

PHP 批量上传文件 大全

PHP  批量上传文件 大全 案例一: <?php $file_path="uploads/"; for($i=0;$i<count($_FILES[ufile][name]);$i++){ $_FILES[ufile][name][$i]=time().$_FILES[ufile][name][$i]; //加个时间戳防止重复文件上传后被覆盖     } print_r($_FILES[ufile][name]); $filename=$_FILES[ufile][nam

简单介绍使用GooUploader.js实现批量上传文件的方法(使用struts2)

最近的网站项目中需要实现上传pdf的功能,期间找了很多jquery的插件,都不能满足要求,最后找到GooUploader.js,由于自己是第一次接触上传文件的功能,虽然看了很多写地详细的博客,还是花了很长时间才应用到项目中,所以在这里自己总结一下. GooUploader.js插件是在swfupload.js基础上进行扩展的,有些比较好的特点: 1. 支持批量文件上传: 2. 上传文件时,选择文件后,可以选择单个文件上传,也可以选择批量文件上传: 3. 开始上传文件后,可以取消单个文件上传,也可