tftpurlconnection.java
来自「纯java操作系统jnode,安装简单和操作简单的个人使用的Java操作系统」· Java 代码 · 共 59 行
JAVA
59 行
/*
* $Id: TFTPURLConnection.java,v 1.1 2003/11/25 11:52:26 epr Exp $
*/
package org.jnode.protocol.tftp;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.InetAddress;
import java.net.URL;
import java.net.URLConnection;
import org.apache.commons.net.tftp.TFTP;
import org.apache.commons.net.tftp.TFTPClient;
/**
* @author epr
*/
public class TFTPURLConnection extends URLConnection {
private final String host;
private final String path;
/**
* @param url
*/
public TFTPURLConnection(URL url) {
super(url);
this.host = url.getHost();
this.path = url.getPath();
}
/**
* @see java.net.URLConnection#connect()
*/
public void connect() throws IOException {
/* Do nothing */
}
/**
* @see java.net.URLConnection#getInputStream()
*/
public InputStream getInputStream() throws IOException {
final ByteArrayOutputStream os = new ByteArrayOutputStream();
final TFTPClient tftp = new TFTPClient();
final InetAddress hostAddr = InetAddress.getByName(host);
tftp.open(TFTP.DEFAULT_PORT);
try {
//Syslog.debug("Getting " + path + " from " + hostAddr);
tftp.receiveFile(path, TFTP.BINARY_MODE, os, hostAddr);
} finally {
tftp.close();
}
return new ByteArrayInputStream(os.toByteArray());
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?