本文整理汇总了Java中java.nio.channels.InterruptibleChannel类的典型用法代码示例。如果您正苦于以下问题:Java InterruptibleChannel类的具体用法?Java InterruptibleChannel怎么用?Java InterruptibleChannel使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
InterruptibleChannel类属于java.nio.channels包,在下文中一共展示了InterruptibleChannel类的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: validate
import java.nio.channels.InterruptibleChannel; //导入依赖的package包/类
/**
* Gets a part of the given URL, writes the content into the given channel.
* Fails if the returned HTTP status is not "206 partial content".
*
* @param <IWC> a generic type for any class that implements InterruptibleChannel and WritableByteChannel
* @param url to get
* @param output written with the content of the HTTP response
* @param etag value of the If-Range header
* @param range_start range byte start (inclusive)
* @param range_end range byte end (inclusive)
*
* @return a response (contains the HTTP Headers, the status code, ...)
*
* @throws IOException IO error
* @throws InterruptedException interrupted
* @throws RuntimeException containing the actual exception if it is not an instance of IOException
*/
public <IWC extends InterruptibleChannel & WritableByteChannel>
HttpResponse interruptibleGetRange(String url, final IWC output, String etag, long range_start, long range_end)
throws IOException, InterruptedException
{
HttpGet get = new HttpGet(url);
get.setHeader("If-Range", etag);
get.setHeader("Range", String.format("bytes=%d-%d", range_start, range_end));
// This validator throws an IOException if the response code is not 206 partial content
ResponseValidator val = new ResponseValidator()
{
@Override
public void validate(HttpResponse response) throws HttpException, IOException
{
if (response.getStatusLine().getStatusCode() != HttpStatus.SC_PARTIAL_CONTENT)
{
throw new IOException("Range request does not return partial content");
}
}
};
return interruptibleRequest(get, output, val);
}
示例2: interruptibleGet
import java.nio.channels.InterruptibleChannel; //导入依赖的package包/类
/**
* Gets the given URL, writes the content into the given channel.
*
* @param <IWC> a generic type for any class that implements
* InterruptibleChannel and WritableByteChannel.
* @param url to get.
* @param output written with the content of the HTTP response.
*
* @return a response (contains the HTTP Headers, the status code, ...).
*
* @throws IOException IO error.
* @throws InterruptedException interrupted.
* @throws RuntimeException containing the actual exception if it is not an
* instance of IOException.
*/
public <IWC extends InterruptibleChannel & WritableByteChannel>
HttpResponse interruptibleGet(String url, final IWC output)
throws IOException, InterruptedException
{
return interruptibleRequest(new HttpGet(url), output, null);
}
示例3: interruptibleDelete
import java.nio.channels.InterruptibleChannel; //导入依赖的package包/类
/**
* Deletes the given URL, writes the content into the given channel.
*
* @param <IWC> a generic type for any class that implements
* InterruptibleChannel and WritableByteChannel.
* @param url to delete.
* @param output written with the content of the HTTP response.
*
* @return a response (contains the HTTP Headers, the status code, ...).
*
* @throws IOException IO error.
* @throws InterruptedException interrupted.
* @throws RuntimeException containing the actual exception if it is not an
* instance of IOException.
*/
public <IWC extends InterruptibleChannel & WritableByteChannel>
HttpResponse interruptibleDelete(String url, final IWC output)
throws IOException, InterruptedException
{
return interruptibleRequest(new HttpDelete(url), output, null);
}
示例4: interruptibleGet
import java.nio.channels.InterruptibleChannel; //导入依赖的package包/类
/**
* Gets the given URL, writes the content into the given channel.
*
* @param <IWC> a generic type for any classe that implements
* InterruptibleChannel and WritableByteChannel.
* @param url to get.
* @param output written with the content of the HTTP response.
*
* @return a response (contains the HTTP Headers, the status code, ...).
*
* @throws IOException IO error.
* @throws InterruptedException interrupted.
* @throws RuntimeException containing the actual exception if it is not an
* instance of IOException.
*/
public <IWC extends InterruptibleChannel & WritableByteChannel>
HttpResponse interruptibleGet(String url, final IWC output)
throws IOException, InterruptedException
{
return interruptibleRequest(new HttpGet(url), output);
}
示例5: interruptibleDelete
import java.nio.channels.InterruptibleChannel; //导入依赖的package包/类
/**
* Deletes the given URL, writes the content into the given channel.
*
* @param <IWC> a generic type for any classe that implements
* InterruptibleChannel and WritableByteChannel.
* @param url to delete.
* @param output written with the content of the HTTP response.
*
* @return a response (contains the HTTP Headers, the status code, ...).
*
* @throws IOException IO error.
* @throws InterruptedException interrupted.
* @throws RuntimeException containing the actual exception if it is not an
* instance of IOException.
*/
public <IWC extends InterruptibleChannel & WritableByteChannel>
HttpResponse interruptibleDelete(String url, final IWC output)
throws IOException, InterruptedException
{
return interruptibleRequest(new HttpDelete(url), output);
}