package junit;
import java.io.*;
import sun.net.TelnetInputStream;
import sun.net.ftp.*;
import java.util.zip.*;
public class Testaa {
private static String path = "D:/";
private static String filenameTemp;
public static void main(String[] args) throws FileNotFoundException,
IOException, InterruptedException {
// TODO 从FTP服务器下载文件为压缩包
File f = new File("aaa.zip"); // 文件MyZIPFile.zip是最终的压缩包
String fileToDownload = ""; // 将要下载的文件名称
TelnetInputStream is = null;
byte[] b = new byte[1000];
int length = 0;
FtpClient ftp = new FtpClient("222.161.209.50", 10021);
ftp.login("yhtc_gxyh_b", "yhtc_gxyh_b2015");
if (!ftp.serverIsOpen()) {
System.out.println("Failed to login to 192.168.1.10");
return;
}
ftp.cd("/");// 设置服务器端的工作目录
ftp.binary();// 切换传输方式为二进制
if (!f.exists()) // 确认压缩文件被创建
{
f.createNewFile();
}
// 用文件输出流构建ZIP压缩输出流
ZipOutputStream zipos = new ZipOutputStream(new FileOutputStream(f));
zipos.setMethod(ZipOutputStream.DEFLATED); // 设置压缩方法
fileToDownload = "user_plan_info_20150921.txt";
is = ftp.get(fileToDownload);
// b = new byte[is .getBytes().length];
zipos.putNextEntry(new ZipEntry(fileToDownload));
// 生成一个ZIP entry,写入文件输出流中,并将输出流定位于entry起始处。
DataOutputStream os = new DataOutputStream(zipos);
// System.out.println("222");
while (true) {
String readLine = readLine(is);
if (null != readLine && !readLine.equals("")) {
String message = new String(readLine.getBytes("iso-8859-1"),
"gb2312");
if (message.indexOf("155907482991") == -1) {
continue;
}
System.out.println(message);
}
break;
}
is.close();
os.close();// 关闭数据流
}
/**
* 创建文件
*
* @throws IOException
*/
public static boolean creatTxtFile(String name) throws IOException {
boolean flag = false;
filenameTemp = path + name + ".txt";
File filename = new File(filenameTemp);
if (!filename.exists()) {
filename.createNewFile();
flag = true;
}
return flag;
}
/**
* 写文件
*
* @param newStr
* 新内容
* @throws IOException
*/
public static boolean writeTxtFile(String newStr) throws IOException {
// 先读取原有文件内容,然后进行写入操作
boolean flag = false;
String filein = newStr + "\r\n";
String temp = "";
FileInputStream fis = null;
InputStreamReader isr = null;
BufferedReader br = null;
FileOutputStream fos = null;
PrintWriter pw = null;
try {
// 文件路径
File file = new File(filenameTemp);
// 将文件读入输入流
fis = new FileInputStream(file);
isr = new InputStreamReader(fis);
br = new BufferedReader(isr);
StringBuffer buf = new StringBuffer();
// 保存该文件原有的内容
for (int j = 1; (temp = br.readLine()) != null; j++) {
buf = buf.append(temp);
// System.getProperty("line.separator")
// 行与行之间的分隔符 相当于“\n”
buf = buf.append(System.getProperty("line.separator"));
}
buf.append(filein);
fos = new FileOutputStream(file);
pw = new PrintWriter(fos);
pw.write(buf.toString().toCharArray());
pw.flush();
flag = true;
} catch (IOException e1) {
// TODO 自动生成 catch 块
throw e1;
} finally {
if (pw != null) {
pw.close();
}
if (fos != null) {
fos.close();
}
if (br != null) {
br.close();
}
if (isr != null) {
isr.close();
}
if (fis != null) {
fis.close();
}
}
return flag;
}
/**
* * Attempts to read a line of text from the input stream. Since a *
* telnet input stream always ends lines in CR/LF pairs, this method *
* returns all characters in the stream until a CR/LF pair or the *
* end-of-stream is reached. If no more bytes are available in the *
* stream, <code>null</code> is returned. * * @return A string
* representing the next line in the input stream. * @throws IOException If
* an I/O error occurs.
*/
public static String readLine(TelnetInputStream is) throws IOException {
int ch = is.read();
if (ch == -1)
return null;
StringBuffer buf = new StringBuffer(100);
buf.append((char) ch);
while (true) {
ch = is.read();
switch (ch) {
case 10:
return buf.toString();
// ch = is.read();
// switch (ch) {
//
// case '\n':
// return buf.toString();
// case '\0':
// buf.append('\r');
// break;
// case -1:
// throw new IOException("Unexpected end of " + "input");
// default:
// throw new IOException("Invalid char " + "after CR: "
// + ((char) ch));
//
// }
case -1:
return buf.toString();
default:
buf.append((char) ch);
}
}
}
}
分享到:
相关推荐
FtpDownFile 从FTP服务器下载文件 FtpUploadFile 向FTP服务器上传文件 FtpConnect 连接FTP服务器 FtpDisconnect 断开FTP服务器连接 FtpAFile 枚举Ftp中的所有文件 FtpCreateDir 在FTP服务器上创建一个...
–格式控制:文件的格式控制符 –结构: 文件结构 记录结构 页结构 –传输方式:规定文件再数据连接中如何传输 流方式 块方式 压缩方式 FTP命令 FTP命令和应答在客户和服务器的控制连接上以NVT ASCII码形式传送。...
Yum-updatesd Yum工具守护进程 Zip 与pkzip兼容的文件压缩打包工具 ccld 通用的USB CCID智能卡读写器驱动器产品 初始化系统需要开启的服务: 系统 服务名字 用途 生产服务器部署规范全文共7页,当前为第3页。...
23.5.2 从FTP服务器下载指定版本 23.5.3 定时升级设置 第24章 Windows应用程序打包与部署境 24.1 WindowsInstaller简介 24.2 Windows应用程序部署 24.2.1 创建部署项目 24.2.2 可选的部署功能 24.3 安装及卸载...
数字证书:从文件中读取数字证书,生成文件输入流,输入文件为c:/mycert.cer,获取一个处理X.509证书的证书工厂…… Java+ajax写的登录实例 1个目标文件 内容索引:Java源码,初学实例,ajax,登录 一个Java+ajax写...
数字证书:从文件中读取数字证书,生成文件输入流,输入文件为c:/mycert.cer,获取一个处理X.509证书的证书工厂…… Java+ajax写的登录实例 1个目标文件 内容索引:Java源码,初学实例,ajax,登录 一个Java+ajax...
23.5.2 从FTP服务器下载指定版本 628 23.5.3 定时升级设置 630 第24章 Windows应用程序打包与部署境 24.1 Windows Installer简介 634 24.2 Windows应用程序部署 634 24.2.1 创建部署项目 634 24.2.2 可...
数字证书:从文件中读取数字证书,生成文件输入流,输入文件为c:/mycert.cer,获取一个处理X.509证书的证书工厂…… Java+ajax写的登录实例 1个目标文件 内容索引:Java源码,初学实例,ajax,登录 一个Java+ajax写...
23.5.2 从FTP服务器下载指定版本 23.5.3 定时升级设置 第24章 Windows应用程序打包与部署境 24.1 WindowsInstaller简介 24.2 Windows应用程序部署 24.2.1 创建部署项目 24.2.2 可选的部署功能 24.3 安装及卸载...
23.5.2 从FTP服务器下载指定版本 23.5.3 定时升级设置 第24章 Windows应用程序打包与部署境 24.1 WindowsInstaller简介 24.2 Windows应用程序部署 24.2.1 创建部署项目 24.2.2 可选的部署功能 24.3 安装及卸载...
数字证书:从文件中读取数字证书,生成文件输入流,输入文件为c:/mycert.cer,获取一个处理X.509证书的证书工厂…… Java+ajax写的登录实例 1个目标文件 内容索引:Java源码,初学实例,ajax,登录 一个Java+ajax...
数字证书:从文件中读取数字证书,生成文件输入流,输入文件为c:/mycert.cer,获取一个处理X.509证书的证书工厂…… Java+ajax写的登录实例 1个目标文件 内容索引:Java源码,初学实例,ajax,登录 一个Java+ajax写的...
数字证书:从文件中读取数字证书,生成文件输入流,输入文件为c:/mycert.cer,获取一个处理X.509证书的证书工厂…… Java+ajax写的登录实例 1个目标文件 内容索引:Java源码,初学实例,ajax,登录 一个Java+ajax...
数字证书:从文件中读取数字证书,生成文件输入流,输入文件为c:/mycert.cer,获取一个处理X.509证书的证书工厂…… Java+ajax写的登录实例 1个目标文件 内容索引:Java源码,初学实例,ajax,登录 一个Java+ajax写...
由于权限有限,分3部份下载 PHP程序开发范例宝典 内容提要 《PHP程序开发范例宝典》全面介绍了应用PHP进行网站开发的各种技术和技巧。《PHP程序开发范例宝典》分为20章,内容包括PHP的运行环 境配置、表单及表单...
数字证书:从文件中读取数字证书,生成文件输入流,输入文件为c:/mycert.cer,获取一个处理X.509证书的证书工厂…… Java+ajax写的登录实例 1个目标文件 内容索引:Java源码,初学实例,ajax,登录 一个Java+ajax写的...
内含各种例子(vc下各种控件的使用方法、标题栏与菜单栏、工具栏与状态栏、图标与光标、程序窗口、程序控制、进程与线程、字符串、文件读写操作、文件与文件夹属性操作、文件与文件夹系统操作、系统控制操作、程序...
1、下载安装包,将安装包下载解压后,将其中的www目录内的全部文件和目录上传到网站空间, 用FTP上 传时必须采用二进制方式。 2、将每个目录下的pics子目录设为可读写(777) 3、将news、photo、down、page模块下的...
3.5 使用内存读写函数和内存映射文件通信 62 3.5.1 使用内存映射文件通信的方法 62 3.5.2 使用内存读写函数实现进程间通信的方法 62 3.5.3 使用内存读写函数实现进程间通信的实例 63 3.6 使用动态链接库通信 64 ...