• 大小: 100KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-16
  • 语言: Java
  • 标签:

资源简介

一个还好的Android手机无线(WIFI)连接无线路由实现局域网 连接电脑后,进行文件传送的Socket/TCP实例。 需要手机WIFI连接局域网,并设定IP地址,地址可在程序文件找到,或者自行对应修改,需要统一。

资源截图

代码片段和文件信息

package com.wal.tcpclient;

import java.io.DataOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;
import java.util.Calendar;
import java.util.Scanner;

/**
 * @author jace
 * 
 * Functions:
 *  1.TCPClient,运行与Java上的带主函数的程序客户端
 * 
 *  2.实现从电脑硬盘上传送文件到局域网内的WIFI连接的Android客户端机器
 * 
 *  3.该程序实现的为Linux下的文件读取,Windows用户需要自行修改几句代码,便可简单实现(代码已经注释)
 * 
 *  4.自己动手丰衣足食
 *
 */
public class TCPClient {

/**
 * @param args
 */
public static void main(String[] args) {
try {
//创建TCP客户端的Socket
Socket mTCPSocket = new Socket(“172.16.167.82“ 8888);

System.out.println(“-----------------请输入需传送的文件路径-----------------“);

System.out.println(“---------------格式例如:/home/jace/mm.jpg---------------“);

Scanner sc = new Scanner(System.in);

String strPath = sc.next().toString();

System.out.println(“文件路径为:strPath = “ + strPath + “   strPath的长度 = “ + strPath.length());

//创建输入流,并设置输入流传递的文件
InputStream mInputStream = new FileInputStream(strPath);

//创建输出流对象并获取输出流
OutputStream mOutputStream = mTCPSocket.getOutputStream();

//创建数据输出流,并将获得的文件输出流的数据
DataOutputStream mDataOutputStream = new DataOutputStream(mOutputStream);

//创建字节数组
byte[] buffer = new byte[1024 * 4];

int temp = 0;

//Windows系统文件路径测试
// String strWindowsPath = “C:\\Program Files\\Alwil Software\\Avast4\\ashDisp.exe“;

//字符串(文件路径)分割,存放于String数组中
String[] strDir = strPath.split(File.separator);

// String[] strDir2 = strWindowsPath.split(“\\\\“);

//打印文件名
System.out.println(“Linux fileName = “ + strDir[strDir.length - 1]);

// System.out.println(“Windows FileName = “ + strDir2[strDir2.length - 1]);

//将分割出来的文件名,写入数据输出流中
mDataOutputStream.writeUTF(strDir[strDir.length - 1] + “!“ + mInputStream.available());

//打印开始传送提示,并显示当前时间
System.out.println(“-----------------数据开始传送-----------------“);
System.out.println(“--现在系统时间: “ + Calendar.getInstance().getTime() + “--“);

long length = 0;

System.out.println(“length  One------>“ + mInputStream.available());

//通过循环读取数据进字节数组,并写进数据输出流中
while ((temp = mInputStream.read(buffer)) != -1) {
// mOutputStream.write(buffer 0 temp);
mDataOutputStream.write(buffer 0 temp);

//叠加读取缓冲区的字节数大小
length += temp;
}


//打印写入缓冲区的文件的字节长度
System.out.println(“length Two----->“ + length);

// mDataOutputStream.writeLong(length);


//刷新并推进输出流
mDataOutputStream.flush();

//打印数据传送完毕提示,并显示当前系统时间
System.out.println(“----------------------------------------------“);

System.out.println(“-------------------数据传送完毕-----------------“);

System.out.println(“-----完成时间: “ + Calendar.getInstance().getTime() + “-----“);

System.out.println(“----------------------------------------------“);

// while ((temp = mDataInputStream.read(buffer)) != -1) {
// mDataOutputStre

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        3214  2011-08-29 05:03  SocketDemo\Client_For_SocketDemo01\bin\com\wal\tcpclient\TCPClient.class
     文件        2391  2011-08-29 05:03  SocketDemo\Client_For_SocketDemo01\bin\com\wal\udpclient\UDPClient.class
     文件        3825  2011-08-29 05:03  SocketDemo\Client_For_SocketDemo01\src\com\wal\tcpclient\TCPClient.java
     文件        1937  2011-08-29 05:03  SocketDemo\Client_For_SocketDemo01\src\com\wal\udpclient\UDPClient.java
     文件         352  2011-08-29 05:04  SocketDemo\SocketDemo01\bin\com\wal\socketactivity\R$attr.class
     文件         444  2011-08-29 05:04  SocketDemo\SocketDemo01\bin\com\wal\socketactivity\R$drawable.class
     文件         475  2011-08-29 05:04  SocketDemo\SocketDemo01\bin\com\wal\socketactivity\R$id.class
     文件         406  2011-08-29 05:04  SocketDemo\SocketDemo01\bin\com\wal\socketactivity\R$layout.class
     文件         613  2011-08-29 05:04  SocketDemo\SocketDemo01\bin\com\wal\socketactivity\R$string.class
     文件         559  2011-08-29 05:04  SocketDemo\SocketDemo01\bin\com\wal\socketactivity\R.class
     文件        3350  2011-08-29 05:04  SocketDemo\SocketDemo01\bin\com\wal\socketactivity\SocketDemo01Activity$1.class
     文件        2560  2011-08-29 05:04  SocketDemo\SocketDemo01\bin\com\wal\socketactivity\SocketDemo01Activity$2.class
     文件        6397  2011-08-29 05:04  SocketDemo\SocketDemo01\bin\com\wal\socketactivity\SocketDemo01Activity.class
     文件        1166  2011-08-29 05:04  SocketDemo\SocketDemo01\gen\com\wal\socketactivity\R.java
     文件       13517  2011-08-29 05:04  SocketDemo\SocketDemo01\src\com\wal\socketactivity\SocketDemo01Activity.java
     文件        2574  2011-08-29 05:04  SocketDemo\SocketDemo01\res\drawable\icon.png
     文件        7599  2011-08-29 05:04  SocketDemo\SocketDemo01\res\drawable\senddata.jpg
     文件        4147  2011-08-29 05:04  SocketDemo\SocketDemo01\res\drawable-hdpi\icon.png
     文件        1723  2011-08-29 05:04  SocketDemo\SocketDemo01\res\drawable-ldpi\icon.png
     文件        2574  2011-08-29 05:04  SocketDemo\SocketDemo01\res\drawable-mdpi\icon.png
     文件        1517  2011-08-29 05:04  SocketDemo\SocketDemo01\res\layout\main.xml
     文件         478  2011-08-29 05:04  SocketDemo\SocketDemo01\res\values\strings.xml
     文件         617  2011-08-29 05:03  SocketDemo\Client_For_SocketDemo01\.settings\org.eclipse.jdt.core.prefs
     文件       29245  2011-08-29 05:04  SocketDemo\SocketDemo01\bin\SocketDemo01.apk
     文件       10980  2011-08-29 05:04  SocketDemo\SocketDemo01\bin\classes.dex
     文件       21772  2011-08-29 05:04  SocketDemo\SocketDemo01\bin\resources.ap_
     文件         295  2011-08-29 05:03  SocketDemo\Client_For_SocketDemo01\.classpath
     文件         382  2011-08-29 05:03  SocketDemo\Client_For_SocketDemo01\.project
     文件         273  2011-08-29 05:04  SocketDemo\SocketDemo01\.classpath
     文件         815  2011-08-29 05:04  SocketDemo\SocketDemo01\.project
     文件        1474  2011-08-29 05:04  SocketDemo\SocketDemo01\AndroidManifest.xml
............此处省略36个文件信息

评论

共有 条评论

相关资源