Java檔案與磁碟操作技術詳解

1 如何獲得某一個目錄下的檔案清單? File MyDir = new File("C:/Windows/."); String[] FileNames = MyDir.list(); 2 如何?一個開啟檔案或者是隱藏檔對話方塊? AWT: FileDialog類 + FilenameFilter類 Swing: JFileChooser類 + FileFilter類 其中,基於Swing的解決方案功能更加強大,介面也更加美觀。 3

動態綁定事件(java AWT)

新AWT事件模型給我們帶來的一個好處就是靈活性。在老的模型中我們被迫為我們的程式動作艱難地編寫代碼。但新的模型我們可以用單一方法調用增加和刪除事件動作。下面的例子證明了這一點: //: DynamicEvents.java// The new Java 1.1 event model allows you to// change event behavior dynamically. Also// demonstrates multiple actions for an

用Java 1.1 AWT製作視窗和程式片

我們經常都需要建立一個類,使其既可作為一個視窗調用,亦可作為一個程式片調用。為做到這一點,只需為程式片簡單地加入一個main()即可,令其在一個Frame(幀)裡構建程式片的一個執行個體。作為一個簡單的樣本,下面讓我們來看看如何對Button2New.java作一番修改,使其能同時作為應用程式和程式片使用: //: Button2NewB.java// An application and an appletimport java.awt.*;import

JPCAP-JAVA中的資料連結層控制

一.JPCAP簡介眾所周知,JAVA語言雖然在TCP/UDP傳輸方面給予了良好的定義,但對於網路層以下的控制,卻是無能為力的。JPCAP擴充包彌補了這一點。 JPCAP實際上並非一個真正去實現對資料連結層的控制,而是一個中介軟體,JPCAP調用wincap/libpcap,而給JAVA語言提供一個公用的介面,從而實現了平台無關性。在官方網站上聲明,JPCAP支援FreeBSD 3.x, Linux RedHat 6.1, Fedora Core 4, Solaris, and

新的事件模型(java)

在新的事件模型的組件可以開始一個事件。每種類型的事件被一個個別的類所描繪。當事件開始後,它受理一個或更多事件指明“接收器”。因此,事件來源和處理事件的地址可以被分離。每個事件接收器都是執行特定的接收器類型介面的類對象。因此作為一個程式開發人員,我們所要做的是建立接收器對象並且在被啟用事件的組件中進行註冊。event-firing組件調用一個addXXXListener()方法來完成註冊,以描述XXX事件類型接受。我們可以容易地瞭解到以addListened名的方法通知我們

java對話方塊的設計

對話方塊是一個從其它視窗彈出的視窗。它的目的是處理一些特殊的爭議和它們的細節而不使原來的視窗陷入混亂之中。對話方塊大量在設定視窗的編程環境中使用,但就像前面提到的一樣,鮮於在程式片中使用。我們需要從對話類處繼承以建立其它類型的視窗、像幀一樣的對話方塊。和窗框不同,對話方塊不能擁有菜單條也不能改變游標,但除此之外它們十分的相似。一個對話方塊擁有布局管理器(預設的是BorderLayout布局管理器)和過載action()等等,或用handleEvent()去處理事件。我們會注意到handleEve

java菜單實現

直接在程式片中安放一個菜單是不可能的(Java

java的視窗化應用

出於安全的緣故,我們會看到在程式片我們的行為非常的受到限制。我們真實地感到,程式片是被臨時地加入在WEB瀏覽器中的,因此,它的功能連同它的相關知識,控制項都必須加以限制。但是,我們希望Java能製造一個開視窗的程式去運行一些事物,否則寧願安放在一個WEB頁面上,並且也許我們希望它可以運行一些可靠的應用程式,以及誇張的即時便攜性。在這本書前面的章節中我們製造了一些命令列應用程式,但在一些作業環境中(例如:Macintosh)沒有命令列。所以我們有很多的理由去利用Java建立一個設定視窗,非程式片的

java程式片的優點

如果能容忍那些限制,那麼程式片的一些優點也是非常突出的,尤其是在我們構建客戶/伺服器應用或者其它網路應用時:■沒有安裝方面的爭議。程式片擁有真正的平台獨立性(包括容易地播放音效檔等能力)所以我們不需要針對不同的平台修改代碼也不需要任何人根據安裝運行任何的“tweaking”。事實上,安裝每次自動地將WEB頁連同程式片一起,因此安靜、自動地更新。在傳統的客戶機/伺服器系統中,建立和安裝一個新版本的用戶端軟體簡直就是一場惡夢。■因為安全的原因建立在核心Java語言和程式片結構

java action的替用品

正如早先指出的那樣,action()並不是我們對所有事進行分類後自動為handleEvent()調用的唯一方法。有三個其它的被調用的方法集,如果我們想捕捉某些類型的事件(鍵盤、滑鼠和焦時間點事件),因此我們不得不過載規定的方法。這些方法是定義在基礎類組件裡,所以他們幾乎在所有我們可能安放在表單中的組件中都是有用的。然而,我們也注意到這種方法在Java 1.1版中是不被支援的,同樣儘管我們可能注意到繼承代碼利用了這種方法,我們將會使用Java 1.1版的方法來代替(本章後面有詳細介紹)。組件方法

java的CardLayout

CardLayout允許我們在更複雜的擁有真正的檔案夾卡片與一條邊相遇的環境裡建立大致相同於“卡片式對話方塊”的布局,我們必須壓下一個卡片使不同的對話方塊帶到前面來。在AWT裡不是這樣的:CardLayout是簡單的空的空格,我們可以自由地把新卡片帶到前面來。(JFC/Swing庫包括卡片式的窗格看起來非常的棒,且可以我們處理所有的細節。)1. 聯合布局(Combining

Java的static關鍵字

通常,我們建立類時會指出那個類的對象的外觀與行為。除非用new建立那個類的一個對象,否則實際上並未得到任何東西。只有執行了new後,才會正式產生資料存放區空間,並可使用相應的方法。但在兩種特殊的情形下,上述方法並不堪用。一種情形是只想用一個儲存地區來儲存一個特定的資料——無論要建立多少個對象,甚至根本不建立對象。另一種情形是我們需要一個特殊的方法,它沒有與這個類的任何對象關聯。也就是說,即使沒有建立對象,也需要一個能調用的方法。為滿足這兩方面的要求,可使用static(靜

Java程式中使用其他組件

一旦要在自己的程式裡使用一個預先定義好的類,編譯器就必須知道如何找到它。當然,這個類可能就在發出調用的那個相同的源碼檔案裡。如果是那種情況,只需簡單地使用這個類即可——即使它直到檔案的後面仍未得到定義。Java消除了“向前引用”的問題,所以不要關心這些事情。但假若那個類位於其他檔案裡呢?您或許認為編譯器應該足夠“聯盟”,可以自行發現它。但實情並非如此。假設我們想使用一個具有特定名稱的類,但那個類的定義位於多個檔案裡。或者更糟

Java名字的可見度

在所有程式設計語言裡,一個不可避免的問題是對名字或名稱的控制。假設您在程式的某個模組裡使用了一個名字,而另一名程式員在另一個模組裡使用了相同的名字。此時,如何區分兩個名字,並防止兩個名字互相衝突呢?這個問題在C語言裡特別突出。因為程式未提供很好的名字管理方法。C++的類(即Java類的基礎)嵌套使用類裡的函數,使其不至於同其他類裡的嵌套函數名衝突。然而,C++仍然允許使用全域資料以及全域函數,所以仍然難以避免衝突。為解決這個問題,C++用額外的關鍵字引入了“命名空間”的概

Java的自變數列表

自變數列表規定了我們傳送給方法的是什麼資訊。正如大家或許已猜到的那樣,這些資訊——如同Java內其他任何東西——採用的都是對象的形式。因此,我們必須在自變數列表裡指定要傳遞的物件類型,以及每個對象的名字。正如在Java其他地方處理對象時一樣,我們實際傳遞的是“控制代碼”(注釋④)。然而,控制代碼的類型必須正確。倘若希望自變數是一個“字串”,那麼傳遞的必須是一個字串。④:對於前面提及的“特殊

Java方法、自變數和傳回值

迄今為止,我們一直用“函數”(Function)這個詞指代一個已命名的子常式。但在Java裡,更常用的一個詞卻是“方法”(Method),代表“完成某事的途徑”。儘管它們表達的實際是同一個意思,但從現在開始,本書將一直使用“方法”,而不是“函數”。Java的“方法”決定了一個對象能夠接收的訊息。通過本節的學習,大家會知道方法的定義有多麼簡單!方法的基本組

Java的欄位和方法

定義一個類時(我們在Java裡的全部工作就是定義類、製作那些類的對象以及將訊息發給那些對象),可在自己的類裡設定兩種類型的元素:資料成員(有時也叫“欄位”)以及成員函數(通常叫“方法”)。其中,資料成員是一種對象(通過它的控制代碼與其通訊),可以為任何類型。它也可以是主類型(並不是控制代碼)之一。如果是指向對象的一個控制代碼,則必須初始化那個控制代碼,用一種名為“構建器”(第4章會對此詳述)的特殊函數將其與一個實際對象串連起

Java的範圍

大多數程式設計語言都提供了“範圍”(Scope)的概念。對於在範圍裡定義的名字,範圍同時決定了它的“可見度”以及“存在時間”。在C,C++和Java裡,範圍是由花括弧的位置決定的。參考下面這個例子: { int x = 12; /* only x available */ { int q = 96; /* both x & q available */ } /* only x

Java中的數組

幾乎所有程式設計語言都支援數組。在C和C++裡使用數組是非常危險的,因為那些數組只是記憶體塊。若程式訪問自己記憶體塊以外的數組,或者在初始化之前使用記憶體(屬於常規編程錯誤),會產生不可預測的後果(注釋②)。②:在C++裡,應盡量不要使用數組,換用標準模板庫(Standard

特殊情況:Java的主類型

有一系列類需特別對待;可將它們想象成“基本”、“主要”或者“主”(Primitive)類型,進行程式設計時要頻繁用到它們。之所以要特別對待,是由於用new建立對象(特別是小的、簡單的變數)並不是非常有效,因為new將對象置於“堆”裡。對於這些類型,Java採納了與C和C++相同的方法。也就是說,不是用new建立變數,而是建立一個並非控制代碼的“自動”變數。這個變數容納了具體的值

總頁數: 4058 1 .... 2783 2784 2785 2786 2787 .... 4058 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.