fastdfs断点续传代码


通过封装fastdfs java client的代码实现断点续传功能,FileService.upload_file
资源截图
代码片段和文件信息
/**
* Copyright (C) 2008 Happy Fish / YuQing
*
* FastDFS Java Client may be copied only under the terms of the GNU Lesser
* General Public License (LGPL).
* Please visit the FastDFS Home Page http://www.csource.org/ for more detail.
**/

package org.csource;

import java.io.FileNotFoundException;
import java.io.IOException;
import java.net.InetSocketAddress;
import java.net.Socket;

import org.csource.common.IniFileReader;
import org.csource.common.MyException;
import org.csource.fastdfs.TrackerGroup;

/**
* Global variables
* @author Happy Fish / YuQing
* @version Version 1.11
*/
public class ClientGlobal
{
public static int g_connect_timeout; //millisecond
public static int g_network_timeout; //millisecond
public static String g_charset;
public static int g_tracker_http_port;
public static boolean g_anti_steal_token;  //if anti-steal token
public static String g_secret_key;   //generage token secret key
public static TrackerGroup g_tracker_group;

public static final int DEFAULT_CONNECT_TIMEOUT = 5;  //second
public static final int DEFAULT_NETWORK_TIMEOUT = 30; //second

public static int section_size;
public static final int DEFAULT_SECTION_SIZE = 1024; //kb

public static int ingore_diff_time;//s
public static final int DEFAULT_INGORE_DIFF_TIME = 10; //s

public static final String conf_filename = “fdfs_client.conf“;

private ClientGlobal()
{
}

/**
* load global variables
* @param conf_filename config filename
*/
public static void init(String conf_filename) throws FileNotFoundException IOException MyException
{
   IniFileReader iniReader = null;
   String[] szTrackerServers;
String[] parts;

   try {
iniReader = new IniFileReader(conf_filename);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

g_connect_timeout = iniReader.getIntValue(“connect_timeout“ DEFAULT_CONNECT_TIMEOUT);
   if (g_connect_timeout < 0)
   {
   g_connect_timeout = DEFAULT_CONNECT_TIMEOUT;
   }
   g_connect_timeout *= 1000; //millisecond
  
   g_network_timeout = iniReader.getIntValue(“network_timeout“ DEFAULT_NETWORK_TIMEOUT);
   if (g_network_timeout < 0)
   {
   g_network_timeout = DEFAULT_NETWORK_TIMEOUT;
   }
   g_network_timeout *= 1000; //millisecond

   g_charset = iniReader.getStrValue(“charset“);
   if (g_charset == null || g_charset.length() == 0)
   {
   g_charset = “ISO8859-1“;
   }
  
   //配置文件传入的为kb,转化为字节数
   section_size = iniReader.getIntValue(“section_size“ DEFAULT_SECTION_SIZE);
   if (section_size < 0)
   {
   section_size = DEFAULT_SECTION_SIZE;
   }
   section_size *=1024;
  
   ingore_diff_time = iniReader.getIntValue(“ingore_diff_time“ DEFAULT_INGORE_DIFF_TIME);
   if (ingore_diff_time < 0)
   {
   ingore_diff_time = DEFAULT_INGORE_DIFF_TIME;
   }
   ingore_diff_time *=1000;
  
   szTrackerServers = iniReader.getValues(“tracker_server“);
   if (szTrackerServers == null)
   {
   throw new MyException(“item “trac

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2015-06-24 08:37  fastdfs_client
     文件         725  2015-06-15 16:02  fastdfs_client.classpath
     文件         390  2015-05-28 10:39  fastdfs_client.project
     目录           0  2015-06-12 17:31  fastdfs_client.settings
     文件          67  2015-06-12 17:31  fastdfs_client.settingsorg.eclipse.core.resources.prefs
     文件         598  2015-05-28 10:39  fastdfs_client.settingsorg.eclipse.jdt.core.prefs
     目录           0  2015-06-23 17:38  fastdfs_clientin
     文件         408  2015-06-19 13:57  fastdfs_clientinfdfs_client.conf
     文件         645  2015-06-12 17:32  fastdfs_clientinlog4j.properties
     目录           0  2015-06-23 17:38  fastdfs_clientinorg
     目录           0  2015-06-23 17:38  fastdfs_clientinorgcsource
     文件        5023  2015-06-23 17:38  fastdfs_clientinorgcsourceClientGlobal.class
     目录           0  2015-06-23 17:38  fastdfs_clientinorgcsourcecommon
     文件        6494  2015-06-23 17:38  fastdfs_clientinorgcsourcecommonase64.class
     文件        3748  2015-06-23 17:38  fastdfs_clientinorgcsourcecommonIniFileReader.class
     文件         444  2015-06-23 17:38  fastdfs_clientinorgcsourcecommonMyException.class
     文件         970  2015-06-23 17:38  fastdfs_clientinorgcsourcecommonNameValuePair.class
     目录           0  2015-06-23 17:38  fastdfs_clientinorgcsourcefastdfs
     文件        1738  2015-06-23 17:38  fastdfs_clientinorgcsourcefastdfsAppendUploadStream.class
     文件         158  2015-06-23 17:38  fastdfs_clientinorgcsourcefastdfsDownloadCallback.class
     文件         902  2015-06-23 17:38  fastdfs_clientinorgcsourcefastdfsDownloadStream.class
     文件        2026  2015-06-23 17:38  fastdfs_clientinorgcsourcefastdfsFileInfo.class
     文件         526  2015-06-23 17:38  fastdfs_clientinorgcsourcefastdfsProtoCommon$RecvHeaderInfo.class
     文件         527  2015-06-23 17:38  fastdfs_clientinorgcsourcefastdfsProtoCommon$RecvPackageInfo.class
     文件       12225  2015-06-23 17:38  fastdfs_clientinorgcsourcefastdfsProtoCommon.class
     文件        1658  2015-06-23 17:38  fastdfs_clientinorgcsourcefastdfsProtoStructDecoder.class
     文件        1112  2015-06-23 17:38  fastdfs_clientinorgcsourcefastdfsServerInfo.class
     文件        1375  2015-06-23 17:38  fastdfs_clientinorgcsourcefastdfsStorageClient$UploadBuff.class
     文件       35651  2015-06-23 17:38  fastdfs_clientinorgcsourcefastdfsStorageClient.class
     文件       68439  2015-06-03 11:39  fastdfs_clientinorgcsourcefastdfsStorageClient.java.bak
     文件       13231  2015-06-23 17:38  fastdfs_clientinorgcsourcefastdfsStorageClient1.class
............此处省略109个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)