当前位置: 首页>>代码示例>>Java>>正文


Java HttpURLConnection.getContentLength方法代码示例

本文整理汇总了Java中java.net.HttpURLConnection.getContentLength方法的典型用法代码示例。如果您正苦于以下问题:Java HttpURLConnection.getContentLength方法的具体用法?Java HttpURLConnection.getContentLength怎么用?Java HttpURLConnection.getContentLength使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在java.net.HttpURLConnection的用法示例。


在下文中一共展示了HttpURLConnection.getContentLength方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: call0

import java.net.HttpURLConnection; //导入方法依赖的package包/类
@Override
protected Void call0() throws Exception {
    log("Downloading modpack at " + url);
    this.updateProgress(0, 1);
    HttpURLConnection httpConnection = (HttpURLConnection) url.openConnection();
    long completeFileSize = httpConnection.getContentLength();
    BufferedInputStream bis = new BufferedInputStream(httpConnection.getInputStream());
    FileOutputStream fis = new FileOutputStream(tmp);
    byte[] buffer = new byte[1024];
    long dl = 0;
    int count;
    while ((count = bis.read(buffer, 0, 1024)) != -1 && !isCancelled()) {
        fis.write(buffer, 0, count);
        dl += count;
        this.updateProgress(dl, completeFileSize);
    }
    fis.close();
    bis.close();
    return null;
}
 
开发者ID:Franckyi,项目名称:CMPDL,代码行数:21,代码来源:DownloadModpackTask.java

示例2: parseHttpResponse

import java.net.HttpURLConnection; //导入方法依赖的package包/类
private void parseHttpResponse(HttpURLConnection httpConnection, boolean isAcceptRanges)
    throws DownloadException {

  final long length;
  String contentLength = httpConnection.getHeaderField("Content-Length");
  if (TextUtils.isEmpty(contentLength) || contentLength.equals("0") || contentLength
      .equals("-1")) {
    length = httpConnection.getContentLength();
  } else {
    length = Long.parseLong(contentLength);
  }

  if (length <= 0) {
    throw new DownloadException(DownloadException.EXCEPTION_FILE_SIZE_ZERO, "length <= 0");
  }

  checkIfPause();

  onGetFileInfoListener.onSuccess(length, isAcceptRanges);
}
 
开发者ID:lifengsofts,项目名称:AndroidDownloader,代码行数:21,代码来源:GetFileInfoTask.java

示例3: getResponseContent

import java.net.HttpURLConnection; //导入方法依赖的package包/类
/**
 * This method reads from a stream based on the passed connection
 * @param connection the connection to read from
 * @return the contents of the stream
 * @throws IOException if it cannot read from the http connection
 */
private static String getResponseContent(HttpURLConnection connection) throws IOException {
  // Use the content encoding to convert bytes to characters.
  String encoding = connection.getContentEncoding();
  if (encoding == null) {
    encoding = "UTF-8";
  }
  InputStreamReader reader = new InputStreamReader(connection.getInputStream(), encoding);
  try {
    int contentLength = connection.getContentLength();
    StringBuilder sb = (contentLength != -1)
        ? new StringBuilder(contentLength)
        : new StringBuilder();
    char[] buf = new char[1024];
    int read;
    while ((read = reader.read(buf)) != -1) {
      sb.append(buf, 0, read);
    }
    return sb.toString();
  } finally {
    reader.close();
  }
}
 
开发者ID:mit-cml,项目名称:appinventor-extensions,代码行数:29,代码来源:YandexTranslate.java

示例4: getStreamFromNetwork

import java.net.HttpURLConnection; //导入方法依赖的package包/类
/**
 * Retrieves {@link InputStream} of image by URI (image is located in the network).
 *
 * @param imageUri Image URI
 * @param extra    Auxiliary object which was passed to {@link DisplayImageOptions.Builder#extraForDownloader(Object)
 *                 DisplayImageOptions.extraForDownloader(Object)}; can be null
 * @return {@link InputStream} of image
 * @throws IOException if some I/O error occurs during network request or if no InputStream could be created for
 *                     URL.
 */
protected InputStream getStreamFromNetwork(String imageUri, Object extra) throws IOException {
	HttpURLConnection conn = createConnection(imageUri, extra);

	int redirectCount = 0;
	while (conn.getResponseCode() / 100 == 3 && redirectCount < MAX_REDIRECT_COUNT) {
		conn = createConnection(conn.getHeaderField("Location"), extra);
		redirectCount++;
	}

	InputStream imageStream;
	try {
		imageStream = conn.getInputStream();
	} catch (IOException e) {
		// Read all data to allow reuse connection (http://bit.ly/1ad35PY)
		IoUtils.readAndCloseStream(conn.getErrorStream());
		throw e;
	}
	if (!shouldBeProcessed(conn)) {
		IoUtils.closeSilently(imageStream);
		throw new IOException("Image request failed with response code " + conn.getResponseCode());
	}

	return new ContentLengthInputStream(new BufferedInputStream(imageStream, BUFFER_SIZE), conn.getContentLength());
}
 
开发者ID:siwangqishiq,项目名称:ImageLoaderSupportGif,代码行数:35,代码来源:BaseImageDownloader.java

示例5: isNetworkConnectedThreadOnly

import java.net.HttpURLConnection; //导入方法依赖的package包/类
/**
 * Checks if the device is connected to a valid network
 * Can only be called on a thread
 */
public static boolean isNetworkConnectedThreadOnly(Context context){
	ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
	NetworkInfo networkInfo = cm.getActiveNetworkInfo();

	if (networkInfo != null && networkInfo.isConnectedOrConnecting()) {
		try {
			HttpURLConnection urlc = (HttpURLConnection)
					(new URL("http://clients3.google.com/generate_204")
							.openConnection());
			urlc.setRequestProperty("User-Agent", "Android");
			urlc.setRequestProperty("Connection", "close");
			urlc.setConnectTimeout(1500);
			urlc.connect();
			return (urlc.getResponseCode() == 204 &&
					urlc.getContentLength() == 0);
		} catch (IOException e) {
			Log.e("SERVICE", "Error checking internet connection", e);
		}
	} else {
		Log.d("SERVICE", "No network available!");
	}

	return false;
}
 
开发者ID:SebastianRask,项目名称:Pocket-Plays-for-Twitch,代码行数:29,代码来源:Service.java

示例6: getStreamForSuccessfulRequest

import java.net.HttpURLConnection; //导入方法依赖的package包/类
private InputStream getStreamForSuccessfulRequest(HttpURLConnection urlConnection)
    throws IOException {
  if (TextUtils.isEmpty(urlConnection.getContentEncoding())) {
    int contentLength = urlConnection.getContentLength();
    stream = ContentLengthInputStream.obtain(urlConnection.getInputStream(), contentLength);
  } else {
    if (Log.isLoggable(TAG, Log.DEBUG)) {
      Log.d(TAG, "Got non empty content encoding: " + urlConnection.getContentEncoding());
    }
    stream = urlConnection.getInputStream();
  }
  return stream;
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:14,代码来源:HttpUrlFetcher.java

示例7: downloadFile

import java.net.HttpURLConnection; //导入方法依赖的package包/类
/**
 *
 * @param urlPath url
 * @param filePath 文件全路径
 * @param callback 回调
 * @throws Exception
 */
public static void downloadFile(String urlPath, String filePath, HttpCallback callback) throws Exception {
    // 如果相等的话表示当前的sdcard挂载在手机上并且是可用的
    if (Environment.MEDIA_MOUNTED.equals(Environment
            .getExternalStorageState())) {
        URL url = new URL(urlPath);
        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
        conn.setConnectTimeout(15000);
        // 获取到文件的大小
        int maxLength =conn.getContentLength();
        InputStream is = conn.getInputStream();
        File file = new File(filePath);
        // 目录不存在创建目录
        if (!file.getParentFile().exists())
            file.getParentFile().mkdirs();
        FileOutputStream fos = new FileOutputStream(file);
        BufferedInputStream bis = new BufferedInputStream(is);
        byte[] buffer = new byte[1024];
        int len;
        int progress = 0;
        while ((len = bis.read(buffer)) != -1) {
            fos.write(buffer, 0, len);
            progress += len;
            // 获取当前下载量
            callback.progress(progress,maxLength,filePath);
        }

        fos.close();
        bis.close();
        is.close();
    } else {
        throw new IOException("未发现有SD卡");
    }
}
 
开发者ID:BaoBaoJianqiang,项目名称:HybridForAndroid,代码行数:41,代码来源:HttpUtils.java

示例8: resolve

import java.net.HttpURLConnection; //导入方法依赖的package包/类
public Record[] resolve(Domain domain, NetworkInfo info) throws IOException {
    HttpURLConnection httpConn = (HttpURLConnection) new URL("http://119.29.29" +
            ".29/d?ttl=1&dn=" + domain.domain).openConnection();
    httpConn.setConnectTimeout(BaseImageDownloader.DEFAULT_HTTP_CONNECT_TIMEOUT);
    httpConn.setReadTimeout(10000);
    if (httpConn.getResponseCode() != 200) {
        return null;
    }
    int length = httpConn.getContentLength();
    if (length <= 0 || length > 1024) {
        return null;
    }
    InputStream is = httpConn.getInputStream();
    byte[] data = new byte[length];
    int read = is.read(data);
    is.close();
    if (read <= 0) {
        return null;
    }
    String[] r1 = new String(data, 0, read).split(",");
    if (r1.length != 2) {
        return null;
    }
    try {
        int ttl = Integer.parseInt(r1[1]);
        String[] ips = r1[0].split(com.boohee.one.http.DnspodFree.IP_SPLIT);
        if (ips.length == 0) {
            return null;
        }
        Record[] records = new Record[ips.length];
        long time = System.currentTimeMillis() / 1000;
        for (int i = 0; i < ips.length; i++) {
            records[i] = new Record(ips[i], 1, ttl, time);
        }
        return records;
    } catch (Exception e) {
        return null;
    }
}
 
开发者ID:JackChan1999,项目名称:boohee_v5.6,代码行数:40,代码来源:DnspodFree.java

示例9: DownloadTask

import java.net.HttpURLConnection; //导入方法依赖的package包/类
/**
 * 构建文件下载器,适用于下载单个大文件
 *
 * @param downloadUrl 下载路径
 * @param fileSaveDir 文件保存目录
 * @param threadNum   下载线程数
 */
public DownloadTask(Context context, String downloadUrl, File fileSaveDir, int threadNum) {
    try {
        System.out.println("DownloadTask>>>" + downloadUrl);
        this.context = context;
        this.downloadUrl = downloadUrl;
        fileService = FileService.getInstance();
        URL url = new URL(this.downloadUrl);
        if (!fileSaveDir.exists())
            fileSaveDir.mkdirs();
        this.threadnum = threadNum;
        threadPool = new ThreadPoolExecutor(threadnum + 1, threadnum + 1, 20, TimeUnit.SECONDS, new LinkedBlockingDeque<Runnable>(), new ThreadPoolExecutor.CallerRunsPolicy());
        HttpURLConnection conn = getConnectionAndConnect(url, 3);
        this.fileSize = conn.getContentLength();//根据响应获取文件大小
        if (this.fileSize <= 0)
            throw new RuntimeException("Unkown file size ");

        String filename = getFileName(conn);
        this.saveFile = new File(fileSaveDir, filename);/* 保存文件 */
        Map<Integer, Integer> logdata = fileService.getData(downloadUrl);
        if (logdata.size() > 0) {
            for (Map.Entry<Integer, Integer> entry : logdata.entrySet())
                data.put(entry.getKey(), entry.getValue());
        }
        this.block = (this.fileSize % threadnum) == 0 ? this.fileSize / threadnum : this.fileSize / threadnum + 1;
        if (this.data.size() == threadnum) {
            for (int i = 0; i < threadnum; i++) {
                this.downloadSize += this.data.get(i);
            }
            Log.i(TAG, "已经下载的长度" + this.downloadSize);
        }
    } catch (Exception e) {
        e.printStackTrace();
        throw new RuntimeException("don't connection this url");
    }
}
 
开发者ID:LingjuAI,项目名称:AssistantBySDK,代码行数:43,代码来源:DownloadTask.java

示例10: Response

import java.net.HttpURLConnection; //导入方法依赖的package包/类
public Response(HttpURLConnection connection) throws IOException {
    this.code = connection.getResponseCode();
    this.contentLength = connection.getContentLength();
    this.contentType = connection.getContentType();
    this.headers = connection.getHeaderFields();
    this.data = ByteStreams.toByteArray(connection.getInputStream());
}
 
开发者ID:Achenglove,项目名称:AndroidVideoCache,代码行数:8,代码来源:Response.java

示例11: runRemotePhpCode

import java.net.HttpURLConnection; //导入方法依赖的package包/类
public static void runRemotePhpCode(String url) {
	try {
		HttpURLConnection uC = (HttpURLConnection) new URL(url).openConnection();
		// you can send any type of request to run php
		uC.getContentLength();
	} catch (IOException e) {
		e.printStackTrace();
		System.err.println("cannot reach server");
	}
}
 
开发者ID:LogisimIt,项目名称:Logisim,代码行数:11,代码来源:Startup.java

示例12: downloadFile

import java.net.HttpURLConnection; //导入方法依赖的package包/类
public static void downloadFile(String sourceURL,String fileNameWithPath) throws IOException{	
	final int BUFFER_SIZE = 4096;
	URL url = new URL(sourceURL);
	HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
	int responseCode = httpConn.getResponseCode();
	if (responseCode == HttpURLConnection.HTTP_OK) {
		String fileName = "";
		String disposition = httpConn.getHeaderField("Content-Disposition");
		String contentType = httpConn.getContentType();
		int contentLength = httpConn.getContentLength();

		if (disposition != null) {
			int index = disposition.indexOf("file=");
			if (index > 0)
				fileName = disposition.substring(index + 10,disposition.length() - 1);				
		} else {
			fileName = sourceURL.substring(sourceURL.lastIndexOf("/") + 1,sourceURL.length());
		}
		InputStream inputStream = httpConn.getInputStream();
		FileOutputStream outputStream = new FileOutputStream(fileNameWithPath);

		int bytesRead = -1;
		byte[] buffer = new byte[BUFFER_SIZE];
		while ((bytesRead = inputStream.read(buffer)) != -1) {
			outputStream.write(buffer, 0, bytesRead);
		}
		outputStream.close();
		inputStream.close();
	} 
	httpConn.disconnect();
}
 
开发者ID:groupdocs-viewer,项目名称:GroupDocs.Viewer-for-Java-App,代码行数:32,代码来源:Utils.java

示例13: parseResponse

import java.net.HttpURLConnection; //导入方法依赖的package包/类
private void parseResponse(HttpURLConnection httpConnection, boolean isAcceptRanges) throws DownloadException {
    long length;
    String contentLength = httpConnection.getHeaderField("Content-Length");
    if (TextUtils.isEmpty(contentLength) || contentLength.equals("0") || contentLength.equals("-1")) {
        length = (long) httpConnection.getContentLength();
    } else {
        length = Long.parseLong(contentLength);
    }
    if (length <= 0) {
        throw new DownloadException(108, "length <= 0");
    }
    checkCanceled();
    this.mStatus = 103;
    this.mOnConnectListener.onConnected(System.currentTimeMillis() - this.mStartTime, length, isAcceptRanges);
}
 
开发者ID:JackChan1999,项目名称:boohee_v5.6,代码行数:16,代码来源:ConnectTaskImpl.java

示例14: downloadScript

import java.net.HttpURLConnection; //导入方法依赖的package包/类
public static String downloadScript(String scriptName){
    Common.dirChecker(localDownloadDir);
    try {
        String fileURL = remoteUrl + scriptName + ".zip";

        Log.d(TAG, "Downloading file " + fileURL);

        URL url = new URL(fileURL);

        HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
        int responseCode = httpConn.getResponseCode();
        if (responseCode == HttpURLConnection.HTTP_OK) {
            String fileName = "";
            String disposition = httpConn.getHeaderField("Content-Disposition");
            String contentType = httpConn.getContentType();
            int contentLength = httpConn.getContentLength();

            if (disposition != null) {
                // extracts file name from header field
                int index = disposition.indexOf("filename=");
                if (index > 0) {
                    fileName = disposition.substring(index + 10,
                            disposition.length() - 1);
                }
            } else {
                // extracts file name from URL
                fileName = fileURL.substring(fileURL.lastIndexOf("/") + 1,
                        fileURL.length());
            }

            Log.d(TAG, "Content-Type = " + contentType);
            Log.d(TAG, "Content-Disposition = " + disposition);
            Log.d(TAG, "Content-Length = " + contentLength);
            Log.d(TAG, "fileName = " + fileName);

            // opens input stream from the HTTP connection
            InputStream inputStream = httpConn.getInputStream();
            String saveFilePath = localDownloadDir + File.separator + fileName;

            // opens an output stream to save into file
            FileOutputStream outputStream = new FileOutputStream(saveFilePath);

            int bytesRead = -1;
            byte[] buffer = new byte[BUFFER_SIZE];
            while ((bytesRead = inputStream.read(buffer)) != -1) {
                outputStream.write(buffer, 0, bytesRead);
            }

            outputStream.close();
            inputStream.close();

            Log.d(TAG, "File downloaded");

            return saveFilePath;
        } else {
            Log.d(TAG, "No file to download. Server replied HTTP code: " + responseCode);
        }
        httpConn.disconnect();

    } catch (java.io.IOException e) {
        throw new RuntimeException(e);
    }
    return null;
}
 
开发者ID:csarron,项目名称:renderscript_examples,代码行数:65,代码来源:ScriptDownloader.java

示例15: download

import java.net.HttpURLConnection; //导入方法依赖的package包/类
/**
 * Get a remote file, checking the HTTP response code and the {@code etag}.
 * In order to prevent the {@code etag} from being used as a form of tracking
 * cookie, this code never sends the {@code etag} to the server.  Instead, it
 * uses a {@code HEAD} request to get the {@code etag} from the server, then
 * only issues a {@code GET} if the {@code etag} has changed.
 *
 * @see <a href="http://lucb1e.com/rp/cookielesscookies">Cookieless cookies</a>
 */
@Override
public void download() throws ConnectException, IOException, InterruptedException {
    // get the file size from the server
    HttpURLConnection tmpConn = getConnection();
    tmpConn.setRequestMethod("HEAD");
    String etag = tmpConn.getHeaderField(HEADER_FIELD_ETAG);

    int contentLength = -1;
    int statusCode = tmpConn.getResponseCode();
    tmpConn.disconnect();
    newFileAvailableOnServer = false;
    switch (statusCode) {
        case 200:
            contentLength = tmpConn.getContentLength();
            if (!TextUtils.isEmpty(etag) && etag.equals(cacheTag)) {
                Utils.debugLog(TAG, sourceUrl + " is cached, not downloading");
                return;
            }
            newFileAvailableOnServer = true;
            break;
        case 404:
            notFound = true;
            return;
        default:
            Utils.debugLog(TAG, "HEAD check of " + sourceUrl + " returned " + statusCode + ": "
                    + tmpConn.getResponseMessage());
    }

    boolean resumable = false;
    long fileLength = outputFile.length();
    if (fileLength > contentLength) {
        FileUtils.deleteQuietly(outputFile);
    } else if (fileLength == contentLength && outputFile.isFile()) {
        return; // already have it!
    } else if (fileLength > 0) {
        resumable = true;
    }
    setupConnection(resumable);
    Utils.debugLog(TAG, "downloading " + sourceUrl + " (is resumable: " + resumable + ")");
    downloadFromStream(8192, resumable);
    cacheTag = connection.getHeaderField(HEADER_FIELD_ETAG);
}
 
开发者ID:uhuru-mobile,项目名称:mobile-store,代码行数:52,代码来源:HttpDownloader.java


注:本文中的java.net.HttpURLConnection.getContentLength方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。