検索
ホームページJava&#&チュートリアルJava クラス ライブラリ - Apache Commons 補足

Apache Commons には、日常のプログラミングでよく遭遇する問題を解決し、作業の重複を減らすために使用されるオープンソース ツールが多数含まれています。簡単に紹介するために、一般的に使用されるプロジェクトをいくつか選択しました。この記事はインターネット上にある既製のものを多く使用しており、要約しただけです。

1. Commons BeanUtils
http://jakarta.apache.org/commons/beanutils/index.html
説明: Bean 用のツールセット。 Bean は get と set の束で構成されることが多いため、BeanUtils はこれに基づいていくつかのパッケージ化も実行します。

使用例: 多くの機能があり、ウェブサイトで詳しく説明されています。より一般的に使用される機能は、Bean のプロパティをコピーする Bean Copy です。 PO (永続オブジェクト) から VO (値オブジェクト) にデータをコピーするなど、階層化されたアーキテクチャを開発している場合に使用されます。

従来の方法は次のとおりです:

//得到TeacherForm
TeacherForm teacherForm=(TeacherForm)form;
//构造Teacher对象
Teacher teacher=new Teacher();
//赋值
teacher.setName(teacherForm.getName());
teacher.setAge(teacherForm.getAge());
teacher.setGender(teacherForm.getGender());
teacher.setMajor(teacherForm.getMajor());
teacher.setDepartment(teacherForm.getDepartment());
//持久化Teacher对象到数据库
HibernateDAO= ;
HibernateDAO.save(teacher);

BeanUtils を使用した後、コードは以下に示すように大幅に改善されました:

//得到TeacherForm
TeacherForm teacherForm=(TeacherForm)form;
//构造Teacher对象
Teacher teacher=new Teacher();
//赋值
BeanUtils.copyProperties(teacher,teacherForm);
//持久化Teacher对象到数据库
HibernateDAO= ;
HibernateDAO.save(teacher);

2. Commons CLI
http://jakarta.apache.org/commons /cli/index .html
説明: これはコマンドを処理するためのツールです。たとえば、main メソッドによって入力された string[] は解析する必要があります。パラメータ ルールを事前定義してから、CLI を呼び出してそれらを解析できます。

使用例:

// create Options object
Options options = new Options();
// add t option, option is the command parameter, false indicates that
// this parameter is not required.
options.addOption(“t”, false, “display current time”);
options.addOption("c", true, "country code");
CommandLineParser parser = new PosixParser();
CommandLine cmd = parser.parse( options, args);
if(cmd.hasOption("t")) {
// print the date and time
}else {
// print the date
}
// get c option value
String countryCode = cmd.getOptionValue("c");
if(countryCode == null) {
// print default date
}else {
// print date for country specified by countryCode
}

3. Commons Codec
http://jakarta.apache.org/commons/codec/index.html
説明: このツールは、Base64、URL、Soundx などのエンコードとデコードに使用されます。もっと。このツールを使っている人はよく知っているはずなので、詳しくは紹介しません。

4. Commons Collections
http://jakarta.apache.org/commons/collections/
説明: このツールは java.util の拡張機能と考えることができます。

使用例: 簡単な例を挙げてください

OrderedMap map = new LinkedMap();
map.put("FIVE", "5");
map.put("SIX", "6");
map.put("SEVEN", "7");
map.firstKey(); // returns "FIVE"
map.nextKey("FIVE"); // returns "SIX"
map.nextKey("SIX"); // returns "SEVEN"

5. Commons Configuration
http://jakarta.apache.org/commons/configuration/
説明: このツールは、設定ファイルの処理を支援するために使用され、多くのストレージ方法をサポートしています

1. プロパティファイル

3. プロパティリストファイル

4. サーブレットパラメータ


# usergui.properties, definining the GUI,
colors.background = #FFFFFF
colors.foreground = #000080
window.width = 500
window.height = 300
PropertiesConfiguration config = new PropertiesConfiguration("usergui.properties");
config.setProperty("colors.background", "#000000);
config.save();
config.save("usergui.backup.properties);//save a copy
Integer integer = config.getInteger("window.width");
Commons DBCP

http://jakarta.apache.org/commons/dbcp/
説明: データベース接続プール、Tomcat はこれを使用します。私が使用する必要はありません。これを使用したい場合は、Web サイトにアクセスして説明を読んでください。 。

6. Commons DbUtils
http://jakarta.apache.org/commons/dbutils/
注: 以前データベース プログラムを作成していたとき、データベース操作用に別のパッケージを作成することがよくありました。 DbUtils はそのようなツールなので、今後の開発でこの種の作業を繰り返す必要はありません。このツールは一般的な OR マッピング ツール (Hibernate など) ではなく、


QueryRunner run = new QueryRunner(dataSource);
// Execute the query and get the results back from the handler
Object[] result = (Object[]) run.query("SELECT * FROM Person WHERE name=?", "John Doe");

などのデータベース操作を簡素化するだけであることに注意してください。 7. Commons FileUpload
http://jakarta.apache.org/commons /fileupload /

説明: JSP ファイルのアップロード機能を使用するにはどうすればよいですか?


使用例:


// Create a factory for disk-based file items
FileItemFactory factory = new DiskFileItemFactory();
// Create a new file upload handler
ServletFileUpload upload = new ServletFileUpload(factory);
// Parse the request
List /* FileItem */ items = upload.parseRequest(request);
// Process the uploaded items
Iterator iter = items.iterator();
while (iter.hasNext()) {
FileItem item = (FileItem) iter.next();
if (item.isFormField()) {
processFormField(item);
} else {
processUploadedFile(item);
}
}

8. Commons HttpClient
http://jakarta.apache.org/commons/httpclient/
説明: このツールは、プログラミングを通じて Web サイトへのアクセスを容易にします。

使用例: 最も単純な Get オペレーション


GetMethod get = new GetMethod("http://jakarta.apache.org");
// execute method and handle any error responses.
...
InputStream in = get.getResponseBodyAsStream();
// Process the data from the input stream.
get.releaseConnection();

9. Commons IO
http://jakarta.apache.org/commons/io/
説明: java.io I の拡張とみなすことができます。使えると思います。 立ち上がるのにとても便利です。

使用例:

1.ストリームを読み取ります

標準コード:

InputStream in = new URL( "http://jakarta.apache.org" ).openStream();
try {
InputStreamReader inR = new InputStreamReader( in );
BufferedReader buf = new BufferedReader( inR );
String line;
while ( ( line = buf.readLine() ) != null ) {
System.out.println( line );
}
} finally {
in.close();
}

IOUtilsを使用します


InputStream in = new URL( "http://jakarta.apache.org" ).openStream();
try {
System.out.println( IOUtils.toString( in ) );
} finally {
IOUtils.closeQuietly(in);
}

2。ファイルを読む


File file = new File("/commons/io/project.properties");
List lines = FileUtils.readLines(file, "UTF-8");

3.残りのスペースを確認してください

long freeSpace = FileSystemUtils.freeSpace("C:/");

10. Commons JXPath
http://jakarta.apache.org/commons/jxpath/
説明: Xpath をご存知であれば、JXpath は Java オブジェクトに基づく Xpath です。つまり、Xpath を使用してクエリする Java オブジェクト。このことはまだ非常に想像力豊かです。

使用例:

Address address = (Address)JXPathContext.newContext(vendor).
getValue("locations[address/zipCode='90210']/address");
上述代码等同于
Address address = null;
Collection locations = vendor.getLocations();
Iterator it = locations.iterator();
while (it.hasNext()){
Location location = (Location)it.next();
String zipCode = location.getAddress().getZipCode();
if (zipCode.equals("90210")){
address = location.getAddress();
break;
}
}

イレブン、Commons Lang
http://jakarta.apache.org/commons/lang/
説明: このツールキットは java.lang の拡張機能と見なされます。 StringUtils、StringEscapeUtils、RandomStringUtils、Tokenizer、WordUtils などのツール クラスを提供します。

12、Commons Logging
http://jakarta.apache.org/commons/logging/
説明: Log4j をご存知ですか?

13. Commons Math
http://jakarta.apache.org/commons/math/
説明: 名前を見れば、このパッケージが何に使用されるかがわかるはずです。このパッケージで提供される関数は Commons Lang と多少重複していますが、このパッケージは数学ツールの作成により重点を置いており、より強力な関数を備えています。

Fourteen、Commons Net
http://jakarta.apache.org/commons/net/
説明: このパッケージは依然として非常に実用的であり、多くのネットワーク プロトコルをカプセル化しています。

2. NNTP

4. TFTP

8. d/rログイン

10. 時刻(rdate)と昼間

11. エコー

13. NTP/SNTP

の使用例:

TelnetClient telnet = new TelnetClient();
telnet.connect( "192.168.1.99", 23 );
InputStream in = telnet.getInputStream();
PrintStream out = new PrintStream( telnet.getOutputStream() );
...
telnet.close();

十五、Commons Validator
http://jakarta.apache.org/commons/validator/ 
说明:用来帮助进行验证的工具。比如验证Email字符串,日期字符串等是否合法。

使用示例:

// Get the Date validator
DateValidator validator = DateValidator.getInstance();
// Validate/Convert the date
Date fooDate = validator.validate(fooString, "dd/MM/yyyy");
if (fooDate == null) {
// error...not a valid date
return;
}

十六、Commons Virtual File System
http://jakarta.apache.org/commons/vfs/ 
说明:提供对各种资源的访问接口。支持的资源类型包括

1. CIFS

2. FTP

3. Local Files

4. HTTP and HTTPS

5. SFTP

6. Temporary Files

7. WebDAV

8. Zip, Jar and Tar (uncompressed, tgz or tbz2)

9. gzip and bzip2

10. res

11. ram

这个包的功能很强大,极大的简化了程序对资源的访问。

使用示例:

从jar中读取文件

// Locate the Jar file
FileSystemManager fsManager = VFS.getManager();
FileObject jarFile = fsManager.resolveFile( "jar:lib/aJarFile.jar" );
// List the children of the Jar file
FileObject[] children = jarFile.getChildren();
System.out.println( "Children of " + jarFile.getName().getURI() );
for ( int i = 0; i < children.length; i++ ){
System.out.println( children[ i ].getName().getBaseName() );
}

从smb读取文件

StaticUserAuthenticator auth = new StaticUserAuthenticator("username", "password", null);
FileSystemOptions opts = new FileSystemOptions();
DefaultFileSystemConfigBuilder.getInstance().setUserAuthenticator(opts, auth);
FileObject fo = VFS.getManager().resolveFile("smb://host/anyshare/dir", opts);

以上就是java-类库-Apache Commons补充的内容,更多相关内容请关注PHP中文网(www.php.cn)!


声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
高度なJavaプロジェクト管理、自動化の構築、依存関係の解像度にMavenまたはGradleを使用するにはどうすればよいですか?高度なJavaプロジェクト管理、自動化の構築、依存関係の解像度にMavenまたはGradleを使用するにはどうすればよいですか?Mar 17, 2025 pm 05:46 PM

この記事では、Javaプロジェクト管理、自動化の構築、依存関係の解像度にMavenとGradleを使用して、アプローチと最適化戦略を比較して説明します。

適切なバージョン化と依存関係管理を備えたカスタムJavaライブラリ(JARファイル)を作成および使用するにはどうすればよいですか?適切なバージョン化と依存関係管理を備えたカスタムJavaライブラリ(JARファイル)を作成および使用するにはどうすればよいですか?Mar 17, 2025 pm 05:45 PM

この記事では、MavenやGradleなどのツールを使用して、適切なバージョン化と依存関係管理を使用して、カスタムJavaライブラリ(JARファイル)の作成と使用について説明します。

カフェインやグアバキャッシュなどのライブラリを使用して、Javaアプリケーションにマルチレベルキャッシュを実装するにはどうすればよいですか?カフェインやグアバキャッシュなどのライブラリを使用して、Javaアプリケーションにマルチレベルキャッシュを実装するにはどうすればよいですか?Mar 17, 2025 pm 05:44 PM

この記事では、カフェインとグアバキャッシュを使用してJavaでマルチレベルキャッシュを実装してアプリケーションのパフォーマンスを向上させています。セットアップ、統合、パフォーマンスの利点をカバーし、構成と立ち退きポリシー管理Best Pra

キャッシュや怠zyなロードなどの高度な機能を備えたオブジェクトリレーショナルマッピングにJPA(Java Persistence API)を使用するにはどうすればよいですか?キャッシュや怠zyなロードなどの高度な機能を備えたオブジェクトリレーショナルマッピングにJPA(Java Persistence API)を使用するにはどうすればよいですか?Mar 17, 2025 pm 05:43 PM

この記事では、キャッシュや怠zyなロードなどの高度な機能を備えたオブジェクトリレーショナルマッピングにJPAを使用することについて説明します。潜在的な落とし穴を強調しながら、パフォーマンスを最適化するためのセットアップ、エンティティマッピング、およびベストプラクティスをカバーしています。[159文字]

Javaのクラスロードメカニズムは、さまざまなクラスローダーやその委任モデルを含むどのように機能しますか?Javaのクラスロードメカニズムは、さまざまなクラスローダーやその委任モデルを含むどのように機能しますか?Mar 17, 2025 pm 05:35 PM

Javaのクラスロードには、ブートストラップ、拡張機能、およびアプリケーションクラスローダーを備えた階層システムを使用して、クラスの読み込み、リンク、および初期化が含まれます。親の委任モデルは、コアクラスが最初にロードされ、カスタムクラスのLOAに影響を与えることを保証します

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境