`
war_martin
  • 浏览: 114959 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

j2me FTP FTP2ME 应用实例

阅读更多

开发环境:

1、模拟器用sun java(TM)wireless Toolkit 2.5 CLDC

2、FTP 用filezilla 开源FTP服务器

 

手机FTP开源项目ftp2me的应用

用的规范是RFC959,下面是主要的调用方法,附件中是工程实例,有空的朋友可以下下来看看

 

package main;

 

import java.io.IOException;

import java.io.InputStream;

import java.io.OutputStream;

import java.util.Enumeration;

 

import javax.microedition.io.Connector;

import javax.microedition.io.file.FileConnection;

 

import ftp.Ftp2Me;

import ftp.FtpProtocolException;

 

public class FtpMethod implements Runnable{

private static String hostip = null;

private static int port;

private static String username = null;

private static String password = null;

Ftp2Me fm = null;

public FtpMethod(String hostip,int port,String username,String password){

this.hostip = hostip;

this.port = port;

this.username = username;

this.password = password;

Thread t = new Thread();

t.run();

}

 

public void run() {

try {

fm = new Ftp2Me(hostip,port,username,password);

makeDirectory("bb");

//getList("bb");

//getNlst("bb");

//upLoad("file:///root1/EditPlus.txt","bb/EditPlus.txt");

//downLoad("file:///root1/EditPlus.txt","bb/EditPlus.txt");

//reName("bb/ff.txt","bb/bb.txt");

//delfile("bb/aa.txt");

//remove("bb");

} catch (IOException e) {

e.printStackTrace();

} catch (FtpProtocolException e){

e.printStackTrace();

}

}

/**

* 删除文件

* @param url

*/

public void delfile(String url){

try {

fm.dele(url);

fm.disconnect();

} catch (IOException e) {

e.printStackTrace();

} catch (FtpProtocolException e) {

e.printStackTrace();

}

}

/**

* 移除(空)文件夹

* @param fileBoxUrl

* @return

*/

public boolean remove(String fileBoxUrl){

try {

fm.rmd(fileBoxUrl);

fm.disconnect();

return true;

} catch (IOException e) {

e.printStackTrace();

return false;

} catch (FtpProtocolException e) {

e.printStackTrace();

return false;

}

}

/**

* 退出

*/

public void quit(){

try {

fm.quit();

} catch (IOException e) {

e.printStackTrace();

} catch (FtpProtocolException e) {

e.printStackTrace();

}

}

 

/**

* 文件及文件夹重命名

* @param srcUrl

* @param newUrl

* @return

*/

public boolean reName(String srcUrl,String newUrl){

try {

fm.rnfr(srcUrl);

fm.rnto(newUrl);

fm.disconnect();

return true;

} catch (IOException e) {

e.printStackTrace();

return false;

} catch (FtpProtocolException e) {

e.printStackTrace();

return false;

}

}

/**

* 创建文件夹

* @param url

* @return

*/

public boolean makeDirectory(String url){

try {

fm.mkd(url);

fm.disconnect();

return true;

} catch (IOException e) {

e.printStackTrace();

return false;

} catch (FtpProtocolException e) {

e.printStackTrace();

return false;

}

}

/**

* 下载单个文件

* @param localurl

* @param ftpurl

* @return

*/

public boolean downLoad(String localurl,String ftpurl){

try {

FileConnection f = (FileConnection) Connector.open(localurl);

if(!f.exists()){

f.create();

}

OutputStream os =  f.openOutputStream();

fm.retr(os,ftpurl);

fm.disconnect();

f.close();

os.close();

return true;

} catch (IOException e) {

e.printStackTrace();

return false;

} catch (FtpProtocolException e) {

e.printStackTrace();

return false;

}

}

 

/**

* 上传单个文件

* @param localurl

* @param ftpurl

* @return

*/

public boolean upLoad(String localurl,String ftpurl){

try {

FileConnection f = (FileConnection) Connector.open(localurl);

InputStream is = f.openInputStream();

fm.appe(is,ftpurl);

fm.disconnect();

f.close();

return true;

} catch (IOException e) {

e.printStackTrace();

return false;

} catch (FtpProtocolException e) {

e.printStackTrace();

return false;

}

}

/**

* 显示文件夹及文件

* @param fileBoxUrl

* @return

*/

public void getNlst(String fileBoxUrl){

try {

fm.cwd(fileBoxUrl);

Enumeration e = fm.list();

if(e != null){

while(e.hasMoreElements()){

Object o = e.nextElement();

String t = (String)o;

System.out.println(t);

}

}

} catch (IOException e) {

e.printStackTrace();

} catch (FtpProtocolException e) {

e.printStackTrace();

}

fm.disconnect();

}

/**

*显示文件

* @param fileBoxUrl

*/

public void getList(String fileBoxUrl){

try {

fm.cwd(fileBoxUrl);

Enumeration e = fm.list();

if(e != null){

while(e.hasMoreElements()){

Object o = e.nextElement();

String t = (String)o;

System.out.println(t);

}

}

} catch (IOException e) {

e.printStackTrace();

} catch (FtpProtocolException e) {

e.printStackTrace();

}

fm.disconnect();

}

}


 

分享到:
评论

相关推荐

    J2ME HTTPJ2ME HTTPJ2ME HTTP

    通过HTTP,J2ME应用能够发送请求到Web服务器并接收响应,这在开发网络应用,如获取网页内容、发送数据到服务器或下载资源等场景中至关重要。 J2ME中的HTTP通信主要依赖于` javax.microedition.io.Connector`和`...

    J2me-listJ2me-list

    根据提供的文件信息,我们可以了解到这段...通过上述分析,我们可以看出这段代码是一个典型的J2ME应用示例,展示了如何创建和使用列表以及如何处理用户的交互事件。这对于理解J2ME平台的基本编程模型是非常有帮助的。

    j2ME教程 J 2ME

    - **Wireless Toolkit (WTK)**:由Sun Microsystems提供的官方开发工具,包括模拟器和编译器,用于测试和调试J2ME应用程序。 - **NetBeans IDE**:集成开发环境,支持J2ME应用的开发,提供了强大的代码编辑、调试和...

    Java J2ME学习实例源码集.rar

    这个压缩包"Java J2ME学习实例源码集.rar"显然是一份针对J2ME初学者的资源集合,包含了一些关于文本处理和图像处理的源代码示例。下面,我们将深入探讨这两个领域的关键知识点。 1. **文本处理**: - **文本输入与...

    J2ME模拟器

    使用这个可以模拟j2ME的环境。但模拟器是不可以调试的,很遗憾!

    j2me_rmsj2me_rms

    Java 2 Micro Edition (J2ME) 是一种用于开发小型设备和嵌入式系统的 Java 平台,如...理解和熟练使用 RMS 对于开发 J2ME 应用程序至关重要,特别是在需要持久化数据的情况下,如日志记录、用户设置或游戏进度保存。

    j2Me 实例 笔记源码

    8. **编译与打包**:J2ME应用的开发需要使用专用的J2ME集成开发环境(IDE),如NetBeans或Eclipse,其中包含了MIDP和CLDC的SDK。源码编译为.class文件后,需要打包成JAR,再生成JAD文件,才能在目标设备上运行。 9....

    j2me实例大全

    ### J2ME 开发实例 #### SimpleMidletDemo 示例分析 - **文件头注释**:这段代码来源于《Learning Wireless Java》一书,作者为 Qusay Mahmoud,ISBN 编号为 0-596-00243-2。 - **类定义**:`MyMidlet` 类继承自 `...

    J2ME程序设计实例教程实例源码

    开发J2ME应用通常需要使用Java IDE,如NetBeans、Eclipse或者JBuilder,它们都提供了J2ME项目的创建、编译和模拟器测试功能。此外,MIDlet Suite是J2ME应用的基本打包形式,包含了多个MIDlets(J2ME应用程序)以及...

    j2me应用小实例j2me_pro

    **J2ME应用小实例——深入理解J2ME_pro** J2ME,全称为Java 2 Micro Edition,是Java平台的一个子集,主要用于嵌入式系统和移动设备,如手机、PDA等。J2ME_pro是针对这个平台的一系列实践教程,旨在帮助开发者深入...

    j2me-gamej2me-game

    j2me小游戏,自己写的,给大家试试 j2me小游戏,自己写的,给大家试试 j2me小游戏,自己写的,给大家试试

    J2ME程序设计实例

    创建一个计算器应用涉及使用J2ME的基础UI组件,如TextItem用于输入数字和运算符,ChoiceGroup用于选择运算类型,以及Command对象来处理用户操作。计算逻辑通常会封装在一个单独的类中,处理输入数据并返回结果。 4...

    经典j2me游戏实例

    - **MIDlet**: J2ME应用程序的主要组件,负责管理应用程序的生命周期和与设备的交互。 - **LWUIT (Lightweight UI Toolkit)**: 一个轻量级的用户界面库,用于创建更丰富的图形用户界面,提高用户体验。 - **Canvas**...

    J2me 实例讲解(郭克华)

    8. **性能优化**:J2ME应用需要考虑内存占用和执行效率,因此优化代码以适应低性能设备是必备技能。 9. **调试和测试**:使用J2ME的模拟器进行应用调试和测试是开发过程的关键部分,我们将学习如何有效地使用这些...

    yuandaima.rar_j2me 实例

    J2ME应用程序在KJava虚拟机(KVM)上运行,该虚拟机解析并执行字节码,确保代码能在不同设备上兼容。理解字节码的工作原理对于优化J2ME程序的性能至关重要。 4. **网络编程** J2ME提供了对HTTP和WAP协议的支持,...

    j2me游戏开发实例

    J2ME使用MIDP(Mobile Information Device Profile)和CLDC(Connected Limited Device Configuration)作为其核心规范,为开发者提供了构建移动应用的框架。MIDP提供了用户界面组件和网络访问能力,而CLDC则定义了...

    J2ME程序实例教程

    J2ME程序设计实例教程

    J2ME实例

    一些手机游戏资料,和大家分享!

    j2me实例问题讲解

    J2ME应用程序基于两个主要组件:Connected Limited Device Configuration (CLDC) 和 Mobile Information Device Profile (MIDP)。CLDC是J2ME的基础,定义了小型设备的运行时环境,而MIDP则提供了一组特定于移动设备...

Global site tag (gtag.js) - Google Analytics