Console 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
存取與目前 Java 虛擬機相關的字元主控台裝置(如有)的方法。
[Android.Runtime.Register("java/io/Console", DoNotGenerateAcw=true)]
public sealed class Console : Java.Lang.Object, IDisposable, Java.IO.IFlushable
[<Android.Runtime.Register("java/io/Console", DoNotGenerateAcw=true)>]
type Console = class
inherit Object
interface IFlushable
interface IJavaObject
interface IDisposable
interface IJavaPeerable
- 繼承
- 屬性
- 實作
備註
存取與目前 Java 虛擬機相關的字元主控台裝置(如有)的方法。
虛擬機是否有主控台取決於底層平台以及虛擬機的呼叫方式。 如果虛擬機是從互動式命令列啟動,且未重新導向標準輸入與輸出串流,則其主控台會存在,且通常會連接到啟動虛擬機器的鍵盤與顯示器。 如果虛擬機是自動啟動的,例如由背景工作排程器啟動,通常不會有主控台。
若此虛擬機有主控台,則該類別由唯一實例表示,可透過呼叫 java.lang.System#console() 該方法獲得。 若無主控台裝置,則該方法的呼叫將回傳 null。
讀寫操作同步,以確保關鍵操作的原子級完成;因此,呼叫方法、、、以及對回傳物件#readLine()#readPassword()的讀取、格式化和寫入操作,在多執行緒情境中可能會阻塞。 #format format()#printf printf()#reader()#writer()
呼叫 close() 和 返回#reader()#writer()的物件不會關閉這些物件的底層串流。
當主控台輸入串流結束時,主控台讀取方法會回傳null,例如在 Unix 上輸入 control-D,在 Windows 上輸入 control-Z。 若後續在主控台輸入裝置輸入更多字元,後續讀取操作將成功。
除非另有說明,將參數傳給 null 此類別中的任何方法都會導致拋出 a NullPointerException 。
<b>安全注意:</b> 若應用程式需要讀取密碼或其他安全資料,應在處理後手動#readPassword()#readPassword(String, Object...)將回傳的字元陣列歸零,以縮短記憶體中敏感資料的壽命。
<引用>
{@code
Console cons;
char[] passwd;
if ((cons = System.console()) != null &&
(passwd = cons.readPassword("[%s]", "Password:")) != null) {
...
java.util.Arrays.fill(passwd, ' ');
}
}
</區塊引用>
新增於1.6版本。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。
屬性
| 名稱 | Description |
|---|---|
| Class |
回傳此 |
| Handle |
底層 Android 實例的帳號。 (繼承來源 Object) |
| JniIdentityHashCode |
取得由互通執行時指派給此 Java 對等端的身份雜湊碼。 (繼承來源 Object) |
| JniManagedPeerState |
存取與目前 Java 虛擬機相關的字元主控台裝置(如有)的方法。 (繼承來源 JavaObject) |
| JniPeerMembers |
存取與目前 Java 虛擬機相關的字元主控台裝置(如有)的方法。 |
| PeerReference |
取得這個 Java 節點的 JNI 物件參考。 (繼承來源 Object) |
| ThresholdClass |
此 API 支援 Mono for Android 基礎架構,並非直接從你的程式碼中使用。 (繼承來源 Object) |
| ThresholdType |
此 API 支援 Mono for Android 基礎架構,並非直接從你的程式碼中使用。 (繼承來源 Object) |
方法
| 名稱 | Description |
|---|---|
| Charset() |
回傳用於 |
| Clone() |
建立並回傳此物件的副本。 (繼承來源 Object) |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
存取與目前 Java 虛擬機相關的字元主控台裝置(如有)的方法。 (繼承來源 JavaObject) |
| Dispose() |
釋放該 Java 節點所持有的資源。 (繼承來源 Object) |
| Dispose(Boolean) |
釋放該 Java 節點所持有的資源。 (繼承來源 Object) |
| DisposeUnlessReferenced() |
存取與目前 Java 虛擬機相關的字元主控台裝置(如有)的方法。 (繼承來源 JavaObject) |
| Equals(Object) |
存取與目前 Java 虛擬機相關的字元主控台裝置(如有)的方法。 (繼承來源 JavaObject) |
| Equals(Object) |
表示是否有其他物體「等同」於此物。 (繼承來源 Object) |
| Flush() |
清除主控台,並強制任何緩衝輸出立即寫入。 |
| Format(String, Object[]) |
使用指定的格式字串與參數,將格式化字串寫入此主控台的輸出串流。 |
| FormatAsync(String, Object[]) |
存取與目前 Java 虛擬機相關的字元主控台裝置(如有)的方法。 |
| GetHashCode() |
回傳物件的雜湊碼值。 (繼承來源 Object) |
| JavaFinalize() |
已淘汰.
當垃圾回收判定該物件不再有相關參考時,由垃圾回收器呼叫。 (繼承來源 Object) |
| Notify() |
喚醒一個正在該物件監視器上等待的執行緒。 (繼承來源 Object) |
| NotifyAll() |
喚醒所有等待該物件監視器的執行緒。 (繼承來源 Object) |
| Printf(String, Object[]) |
一種方便的方法,利用指定的格式字串和參數,將格式化字串寫入此主控台的輸出串流。 |
| PrintfAsync(String, Object[]) |
存取與目前 Java 虛擬機相關的字元主控台裝置(如有)的方法。 |
| Reader() |
取回與此主控台相關的唯一 |
| ReadLine() |
從控制台讀取一行文字。 |
| ReadLine(String, Object[]) |
從控制台讀取一行文字。 |
| ReadLineAsync() |
存取與目前 Java 虛擬機相關的字元主控台裝置(如有)的方法。 |
| ReadLineAsync(String, Object[]) |
存取與目前 Java 虛擬機相關的字元主控台裝置(如有)的方法。 |
| ReadPassword() |
在關閉回聲的情況下,從控制台讀取密碼或密碼 |
| ReadPassword(String, Object[]) |
在關閉回聲的情況下,從控制台讀取密碼或密碼 |
| ReadPasswordAsync() |
存取與目前 Java 虛擬機相關的字元主控台裝置(如有)的方法。 |
| ReadPasswordAsync(String, Object[]) |
存取與目前 Java 虛擬機相關的字元主控台裝置(如有)的方法。 |
| SetHandle(IntPtr, JniHandleOwnership) |
設定 Handle 屬性。 (繼承來源 Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
存取與目前 Java 虛擬機相關的字元主控台裝置(如有)的方法。 (繼承來源 JavaObject) |
| ToArray<T>() |
從這個 Java 陣列包裝器建立一個受管理陣列。 (繼承來源 Object) |
| ToString() |
回傳物件的字串表示。 (繼承來源 Object) |
| UnregisterFromRuntime() |
將此 Java 節點從互通執行時中取消註冊。 (繼承來源 Object) |
| Wait() |
導致目前執行緒等待被喚醒,通常是透過 <em>通知</><em 或 em>中斷</em> 來喚醒。 (繼承來源 Object) |
| Wait(Int64, Int32) |
會讓目前執行緒等待喚醒,通常是透過 <em>通知</><em 或 em>中斷</em>,或是經過一定的真實時間。 (繼承來源 Object) |
| Wait(Int64) |
會讓目前執行緒等待喚醒,通常是透過 <em>通知</><em 或 em>中斷</em>,或是經過一定的真實時間。 (繼承來源 Object) |
| Writer() |
取回與此主控台相關的唯一 |
明確介面實作
| 名稱 | Description |
|---|---|
| IJavaPeerable.Disposed() |
存取與目前 Java 虛擬機相關的字元主控台裝置(如有)的方法。 (繼承來源 JavaObject) |
| IJavaPeerable.Finalized() |
存取與目前 Java 虛擬機相關的字元主控台裝置(如有)的方法。 (繼承來源 JavaObject) |
| IJavaPeerable.JniObjectReferenceControlBlock |
存取與目前 Java 虛擬機相關的字元主控台裝置(如有)的方法。 (繼承來源 JavaObject) |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
存取與目前 Java 虛擬機相關的字元主控台裝置(如有)的方法。 (繼承來源 JavaObject) |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
存取與目前 Java 虛擬機相關的字元主控台裝置(如有)的方法。 (繼承來源 JavaObject) |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
存取與目前 Java 虛擬機相關的字元主控台裝置(如有)的方法。 (繼承來源 JavaObject) |
| IJavaPeerable.UnregisterFromRuntime() |
存取與目前 Java 虛擬機相關的字元主控台裝置(如有)的方法。 |
擴充方法
| 名稱 | Description |
|---|---|
| FlushAsync(IFlushable) |
存取與目前 Java 虛擬機相關的字元主控台裝置(如有)的方法。 |
| GetJniTypeName(IJavaPeerable) |
取得實例 |
| JavaAs<TResult>(IJavaPeerable) |
試著強制 |
| JavaCast<TResult>(IJavaObject) |
執行 Android 執行時檢查型別轉換。 |
| JavaCast<TResult>(IJavaObject) |
存取與目前 Java 虛擬機相關的字元主控台裝置(如有)的方法。 |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
試著強制 |