日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

formatter java_Java编程中的Java Formatter是什么?

發(fā)布時間:2023/12/15 java 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 formatter java_Java编程中的Java Formatter是什么? 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Java編程中的Java Formatter是什么?

作者:admin

分類:PHP, JAVA, .NET文章

時間:2017-03-30 21:13:02

點擊量:1428

Java Formatter是一個實用程序類,可以在Java中使用格式化流輸出時使生存變得簡單。 它的構(gòu)建類似于C / C ++ printf函數(shù)。 它用于將數(shù)據(jù)格式化并輸出到特定目的地,例如字符串或文件輸出流。 本文探討了這個類,并說明它在Java日常編程中的一些用途。

概述

Java Formatter類在java.util包中被定義,并被聲明為final。 因此,它不能被擴展或分類。 Formatter類實現(xiàn)了Closeable和Flushable接口。 從Closeable接口派生的close()方法是由這個類定義的,以釋放任何被保存的資源,例如打開的文件,流等。 并且,調(diào)用從Flushable接口派生的flush()方法將緩沖輸出寫入底層流。

通過printf函數(shù)可以顯示格式化數(shù)據(jù)的方法,就像C的printf風格格式化函數(shù)一樣。 此功能特別適用于將格式化的輸出顯示到標準輸出流。 使用Java的printf樣式函數(shù)格式化輸出是很好的,但Java Formatter類對此實用程序有更遠的使用。 在這個類的幫助下,我們可以將格式化的輸出發(fā)送到其他輸出流或設備,如GUI組件或除了標準輸出之外的文件。 它提供與printf相同的格式化功能,例如布局對齊,對齊,數(shù)字格式,字符串,日期,時間數(shù)據(jù)和特定于區(qū)域設置的輸出。 它基本上將二進制數(shù)據(jù)格式轉(zhuǎn)換成格式化的文本并將其存儲到緩沖區(qū)中。 它提供一個默認緩沖區(qū),或者我們可以在創(chuàng)建時提供一個緩沖區(qū)。

格式化設計

這個類提供了許多重載的構(gòu)造函數(shù),我們可以在調(diào)用期間顯式提供一個可附加緩沖區(qū)。 可附加接口表示附加有效unicode字符序列和值的對象。 還有其他構(gòu)造函數(shù),我們可以提供一個File對象,OutputStream對象或者PrintStream對象。 例如,一些常用的構(gòu)造函數(shù)如下:

Formatter(): 它是一個無參數(shù)的構(gòu)造函數(shù)用以創(chuàng)建一個Formatter對象。 它運行于由StringBuilder創(chuàng)建的默認緩沖區(qū)。 它是所有類型的常用構(gòu)造函數(shù)。

格式化器(可附加a): 在此,Appendable對象特指格式化輸出的緩沖區(qū)。 但是,如果值為空,則該對象自動創(chuàng)建一個Stringbuilder來保存格式化的輸出。

格式化器(可附加a,區(qū)域設置loc): 區(qū)域設置對象根據(jù)指定的區(qū)域設置區(qū)分輸出格式。 如果未指定,則使用默認區(qū)域。 有時,需要根據(jù)地理政治或文化敏感數(shù)據(jù)來定制輸出,例如格式化日期和時間,替換一個特定區(qū)域的小數(shù)分隔符等的區(qū)域設置。

格式化器(File文件): 該構(gòu)造函數(shù)的file參數(shù)指定一個對要輸出打開文件的引用。

一旦格式化對象被創(chuàng)建,它可以以許多方式使用。 格式說明符指定數(shù)據(jù)格式化的方式。 有關(guān)它們的完整文檔,請參閱Java API文檔。 一些常見的格式說明符是:

%S or %s: Specifies String

%X or %x: Specifies hexadecimal integer

%o: Specifies Octal integer

%d: Specifies Decimal integer

%c: Specifies character

%T or %t: Specifies Time and date

%n: Inserts newline character

%B or %b: Specifies Boolean

%A or %a: Specifies floating point hexadecimal

%f: Specifies Decimal floating point

一般,字符和數(shù)字類型的格式說明符應用應符合如下語法:

%[argument_index$][flags][width][.precision]conversion

argument_index是可選的,整數(shù)值1 $,2 $,以及代表第一個,第二個參數(shù)等等。

可選標志表示修改輸出格式的字符。

可選寬度表示要在輸出中寫入最少字符數(shù)。

可選精度表示定義一個浮點值精度的正十進制整數(shù)值。

轉(zhuǎn)換不是可選的; 它表示參數(shù)數(shù)據(jù)類型,例如整數(shù)的%d,字符串的%s等。

一些簡單的例子

Using argument_index

Formatter f=new Formatter();

f.format("%3$3s %2$3s %1$3s", "fear",

"strengthen", "weakness");

System.out.println(f);

StringBuilder builder=new StringBuilder();

Formatter f=new Formatter(builder);

f.format(Locale.FRANCE,"%.5f", -1325.789);

System.out.println(f);

Formatter f2=new Formatter();

f2.format(Locale.CANADA, "%.5f", -1325.789);

System.out.println(f2);

Regionalize Date

Formatter f3=new Formatter();

f3.format(Locale.FRENCH,"%1$te %1$tB, %1$tY",

Calendar.getInstance());

System.out.println(f3);

Formatter f4=new Formatter();

f4.format(Locale.GERMANY,"%1$te %1$tB, %1$tY",

Calendar.getInstance());

System.out.println(f4);

Using %n and %% Specifiers

Formatter f = new Formatter();

f.format("Format%n %.2f%% complete", 46.6);

System.out.println(f);

結(jié)論

雖然Formatter實現(xiàn)了AutoCloseable接口,但是在close()函數(shù)的幫助下,特別是處理文件時,關(guān)閉Formatter實例較好。 這樣就釋放了所用資源。 將一個輸出格式化到控制臺時最好使用printf,因為它會自動使用Formatter與System.out。應該注意的是,Formatter不具有線程安全性。 因此,應謹慎使用多線程訪問。

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎

總結(jié)

以上是生活随笔為你收集整理的formatter java_Java编程中的Java Formatter是什么?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。