「java两个包」java两个包怎么组合在一起

博主:adminadmin 2023-03-23 01:12:05 749

今天给各位分享java两个包的知识,其中也会对java两个包怎么组合在一起进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

对JAVA的两个FTP包进行比较分析

ftp *;

这是一个不被官方支持的 但是放在JDK下面的FTP包 正因为不被支

持 所以没有官方提供API 这是其最大的缺陷之一 最重要由于不是官方支持的

所以文档也是没有的

[url]l[/url]

这里有该包的API

先给一个简单的例子 (例子来源互联网)

)显示FTP服务器上的文件

void ftpList_actionPerformed(ActionEvent e) {

String server=serverEdit getText();//输入的FTP服务器的IP地址

String user=userEdit getText(); file://登/录FTP服务器的用户名

String password=passwordEdit getText();//登录FTP服务器的用户名的口令

String path=pathEdit getText();//FTP服务器上的路径

try {

FtpClient ftpClient=new FtpClient();//创建FtpClient对象

ftpClient openServer(server);//连接FTP服务器

ftpClient login(user password);//登录FTP服务器

if (path length()!= ) ftpClient cd(path);

TelnetInputStream is=ftpClient list();

int c;

while ((c=is read())!= ) {

System out print((char) c);}

is close();

ftpClient closeServer();//退出FTP服务器

} catch (IOException ex) {;}

}

)从FTP服务器上下传一个文件

void getButton_actionPerformed(ActionEvent e) {

String server=serverEdit getText();

String user=userEdit getText();

String password=passwordEdit getText();

String path=pathEdit getText();

String filename=filenameEdit getText();

try {

FtpClient ftpClient=new FtpClient();

ftpClient openServer(server);

ftpClient login(user password);

if (path length()!= ) ftpClient cd(path);

ftpClient binary();

TelnetInputStream is=ftpClient get(filename);

File file_out=new File(filename);

FileOutputStream os=new

FileOutputStream(file_out);

byte[] bytes=new byte[ ];

int c;

while ((c=is read(bytes))!= ) {

os write(bytes c);

}

is close();

os close();

ftpClient closeServer();

} catch (IOException ex) {;}

}

)向FTP服务器上上传一个文件

void putButton_actionPerformed(ActionEvent e) {

String server=serverEdit getText();

String user=userEdit getText();

String password=passwordEdit getText();

String path=pathEdit getText();

String filename=filenameEdit getText();

try {

FtpClient ftpClient=new FtpClient();

ftpClient openServer(server);

ftpClient login(user password);

if (path length()!= ) ftpClient cd(path);

ftpClient binary();

TelnetOutputStream os=ftpClient put(filename);

File file_in=new File(filename);

FileInputStream is=new FileInputStream(file_in);

byte[] bytes=new byte[ ];

int c;

while ((c=is read(bytes))!= ){

os write(bytes c);}

is close();

os close();

ftpClient closeServer();

} catch (IOException ex) {;}

}

}

看了这个例子 应该就能用他写东西了

这个包缺点很多 首先就是不被支持也不被官方推荐使用

其次是这个包功能过于简单 简单到无法区分FTP服务器上的File是文件还是目录 有人说

通过返回的字符串来判断 但是据说FTP在不同系统下返回的东西不大一样 所以如果通过

判断字符串会有不好移植的问题

自己想出了一个办法 通过FtpClient中的cd方法来判断

代码如下

try{

ftp cd(file);//file为当前判断的文件

//如果过了说明file是目录

}

catch(IOException e){

//说明file是文件

}

finally{

ftp cd( );//返回上级目录继续判断下一文件

}

我用这种方法做过尝试 结果是只能判断正确一部分 有些目录仍会被认做文件 不知道

是我的方法有错还是别的什么原因

如果对FTP服务没有过高的要求 使用这个包还是不错的 因为他本身就包含在JDK中 不

存在CLASSPATH的问题 不需要导入外部包 较为方便

ftp *;

这个包在Jakarta Commons Net library里 现在的最高版本是 可以从以下地址

下载

[url] net [/url]

zip

里面包含了打包好的jar API 及全部的class文件

[url] net [/url]

src zip

这里包含一些例子以及全部的代码

给出一个该包的例子

import ftp *;

public static void getDataFiles( String server

String username

String password

String folder

String destinationFolder

Calendar start

Calendar end )

{

try

{

// Connect and logon to FTP Server

FTPClient ftp = new FTPClient();

nnect( server );

ftp login( username password );

System out println( Connected to +

server + );

System out print(ftp getReplyString());

// List the files in the directory

ftp changeWorkingDirectory( folder );

FTPFile[] files = ftp listFiles();

System out println( Number of files in dir: + files length );

DateFormat df = DateFormat getDateInstance( DateFormat SHORT );

for( int i= ; i

{

Date fileDate = files[ i ] getTimestamp() getTime();

if( pareTo( start getTime() ) =

pareTo( end getTime() ) = )

{

// Download a file from the FTP Server

System out print( df format( files[ i ] getTimestamp() getTime() ) );

System out println( \t + files[ i ] getName() );

File file = new File( destinationFolder +

File separator + files[ i ] getName() );

FileOutputStream fos = new FileOutputStream( file );

ftp retrieveFile( files[ i ] getName() fos );

fos close();

file setLastModified( fileDate getTime() );

}

}

// Logout from the FTP Server and disconnect

ftp logout();

ftp disconnect();

}

catch( Exception e )

{

e printStackTrace();

}

}

同 ftp相同 都是先建立FtpClient(注意两包的大小写不同)的实例 然后通过

connect()方法连接 login()方法登陆 但是 ftp *明显比sun

net ftp功能强大很多

ftp *包将FTP中的file单独出来成为了一个新类FTPFile 还有

类FTPFileEntryParser parse 没有仔细研究 但是从字面来看应该是转化为某种形势的

类 有待研究

同时这个mons net jar包中也提供了FTP服务器 telnet mail等一系列类库

ftp *包的缺点在于需要设置classpath 并且需要下载jakarta

oro jar这个包才能运行(如果没有这个包 会在ftp listFiles()方法后抛出找不

到class异常) 此包无须在代码中import 只需设置在classpath中即可 下载地址

[url] oro zip[/url]

如果想要强大的FTP服务 那么 ftp *包应该是你的最好选择 而

且也是开源 免费的

这个包的问题是:

使用Jakarta Commons Net library需要在环境变量里面编辑classpath

这是不方便的地方

lishixinzhi/Article/program/Java/hx/201311/27057

java创建2个包

你要写这两个类?

这个很简单啊。

来刷分的?

package a;

public class A {

    public double c,d;

    public A(double x, double y){

        this.c = x;

        this.d = y;

    }

    public double add(){

        return c + d;

    }

}

package b;

import a.A;

public class B {

    public static void main(String[] args) {

        A e = new A(1.0, 3.0);

       double need = e.add();

        System.out.println(need);

    }

}

JAVA问题:定义两个包,在一个包中定义一个接口,这个接口包含两个方法,在另一个包中实现这个接口

在java中比较倡导接口与实现的分离,这样有利于多人协作的开发配合。

根据题主的需求,我们可以构建一个demo。代码的组织结构参见截图

UserInfo.java 代码如下

package domain;

public class UserInfo {

/**

 * 用户id

 */

public String recId;

/**

 * 用户名

 */

public String userName;

public String getRecId() {

return recId;

}

public void setRecId(String recId) {

this.recId = recId;

}

public String getUserName() {

return userName;

}

public void setUserName(String userName) {

this.userName = userName;

}

}

接口类TestService.java代码如下:

package service;

import domain.UserInfo;

public interface TestService {

/**

 * 根据用户id取用户信息

 * 

 * @param recId

 * @return

 */

public UserInfo getUserInfoByID(String recId);

/**

 * 修改用户信息

 * 

 * @param userInfo

 */

public void updateUserInfo(UserInfo userInfo);

}

实现类TestServiceImpl.java 代码如下:

package serviceiml;

import domain.UserInfo;

import service.TestService;

public class TestServiceImpl implements TestService {

@Override

public UserInfo getUserInfoByID(String recId) {

// TODO 查询用户信息

return null;

}

@Override

public void updateUserInfo(UserInfo userInfo) {

// 修改用户信息

}

}

java中同一文件下的两个包有什么联系

一般是没有什么关系的,只是不同应用,同一的.java

文件中可以有不同的类,但只能有一个和.Java文件同名的public权限的类名。

关于java两个包和java两个包怎么组合在一起的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。