• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Java File类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中org.apache.tomcat.jni.File的典型用法代码示例。如果您正苦于以下问题:Java File类的具体用法?Java File怎么用?Java File使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



File类属于org.apache.tomcat.jni包,在下文中一共展示了File类的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: add

import org.apache.tomcat.jni.File; //导入依赖的package包/类
/**
 * Add the sendfile data to the sendfile poller. Note that in most cases,
 * the initial non blocking calls to sendfile will return right away, and
 * will be handled asynchronously inside the kernel. As a result,
 * the poller will never be used.
 *
 * @param data containing the reference to the data which should be snet
 * @return true if all the data has been sent right away, and false
 *              otherwise
 */
public boolean add(SendfileData data) {
    // Initialize fd from data given
    try {
        data.fdpool = Socket.pool(data.socket);
        data.fd = File.open
            (data.fileName, File.APR_FOPEN_READ
             | File.APR_FOPEN_SENDFILE_ENABLED | File.APR_FOPEN_BINARY,
             0, data.fdpool);
        data.pos = data.start;
        // Set the socket to nonblocking mode
        Socket.timeoutSet(data.socket, 0);
        while (true) {
            long nw = Socket.sendfilen(data.socket, data.fd,
                                       data.pos, data.end - data.pos, 0);
            if (nw < 0) {
                if (!(-nw == Status.EAGAIN)) {
                    Pool.destroy(data.fdpool);
                    data.socket = 0;
                    return false;
                } else {
                    // Break the loop and add the socket to poller.
                    break;
                }
            } else {
                data.pos = data.pos + nw;
                if (data.pos >= data.end) {
                    // Entire file has been sent
                    Pool.destroy(data.fdpool);
                    // Set back socket to blocking mode
                    Socket.timeoutSet(
                            data.socket, getSoTimeout() * 1000);
                    return true;
                }
            }
        }
    } catch (Exception e) {
        log.warn(sm.getString("endpoint.sendfile.error"), e);
        return false;
    }
    // Add socket to the list. Newly added sockets will wait
    // at most for pollTime before being polled
    synchronized (this) {
        addS.add(data);
        this.notify();
    }
    return false;
}
 
开发者ID:liaokailin,项目名称:tomcat7,代码行数:58,代码来源:AprEndpoint.java


示例2: add

import org.apache.tomcat.jni.File; //导入依赖的package包/类
/**
 * Add the sendfile data to the sendfile poller. Note that in most cases,
 * the initial non blocking calls to sendfile will return right away, and
 * will be handled asynchronously inside the kernel. As a result,
 * the poller will never be used.
 *
 * @param data containing the reference to the data which should be snet
 * @return true if all the data has been sent right away, and false
 *              otherwise
 */
public boolean add(SendfileData data) {
    // Initialize fd from data given
    try {
        data.fdpool = Socket.pool(data.socket);
        data.fd = File.open
            (data.fileName, File.APR_FOPEN_READ
             | File.APR_FOPEN_SENDFILE_ENABLED | File.APR_FOPEN_BINARY,
             0, data.fdpool);
        data.pos = data.start;
        // Set the socket to nonblocking mode
        Socket.timeoutSet(data.socket, 0);
        while (true) {
            long nw = Socket.sendfilen(data.socket, data.fd,
                                       data.pos, data.end - data.pos, 0);
            if (nw < 0) {
                if (!(-nw == Status.EAGAIN)) {
                    Socket.destroy(data.socket);
                    data.socket = 0;
                    return false;
                } else {
                    // Break the loop and add the socket to poller.
                    break;
                }
            } else {
                data.pos = data.pos + nw;
                if (data.pos >= data.end) {
                    // Entire file has been sent
                    Pool.destroy(data.fdpool);
                    // Set back socket to blocking mode
                    Socket.timeoutSet(data.socket, soTimeout * 1000);
                    return true;
                }
            }
        }
    } catch (Exception e) {
        log.error(sm.getString("endpoint.sendfile.error"), e);
        return false;
    }
    // Add socket to the list. Newly added sockets will wait
    // at most for pollTime before being polled
    synchronized (this) {
        addS.add(data);
        this.notify();
    }
    return false;
}
 
开发者ID:lamsfoundation,项目名称:lams,代码行数:57,代码来源:AprEndpoint.java


示例3: add

import org.apache.tomcat.jni.File; //导入依赖的package包/类
/**
 * Add the sendfile data to the sendfile poller. Note that in most
 * cases, the initial non blocking calls to sendfile will return right
 * away, and will be handled asynchronously inside the kernel. As a
 * result, the poller will never be used.
 *
 * @param data
 *            containing the reference to the data which should be snet
 * @return true if all the data has been sent right away, and false
 *         otherwise
 */
public SendfileState add(SendfileData data) {
	// Initialize fd from data given
	try {
		data.fdpool = Socket.pool(data.socket);
		data.fd = File.open(data.fileName,
				File.APR_FOPEN_READ | File.APR_FOPEN_SENDFILE_ENABLED | File.APR_FOPEN_BINARY, 0, data.fdpool);
		data.pos = data.start;
		// Set the socket to nonblocking mode
		Socket.timeoutSet(data.socket, 0);
		while (true) {
			long nw = Socket.sendfilen(data.socket, data.fd, data.pos, data.end - data.pos, 0);
			if (nw < 0) {
				if (!(-nw == Status.EAGAIN)) {
					Pool.destroy(data.fdpool);
					data.socket = 0;
					return SendfileState.ERROR;
				} else {
					// Break the loop and add the socket to poller.
					break;
				}
			} else {
				data.pos = data.pos + nw;
				if (data.pos >= data.end) {
					// Entire file has been sent
					Pool.destroy(data.fdpool);
					// Set back socket to blocking mode
					Socket.timeoutSet(data.socket, getSoTimeout() * 1000);
					return SendfileState.DONE;
				}
			}
		}
	} catch (Exception e) {
		log.warn(sm.getString("endpoint.sendfile.error"), e);
		return SendfileState.ERROR;
	}
	// Add socket to the list. Newly added sockets will wait
	// at most for pollTime before being polled
	synchronized (this) {
		addS.add(data);
		this.notify();
	}
	return SendfileState.PENDING;
}
 
开发者ID:how2j,项目名称:lazycat,代码行数:55,代码来源:AprEndpoint.java



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java State类代码示例发布时间:2022-05-23
下一篇:
Java OneOrMorePattern类代码示例发布时间:2022-05-23
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap