Time of Update: 2017-01-19
在編程中經常需要使用到表格(報表)的處理主要以Excel表格為主。下面給出用java讀取excel表格方法: 1.添加jar檔案 java匯入匯出Excel檔案要引入jxl.jar包,最關鍵的是這套API是純Java的,並不依賴Windows系統,即使運行在Linux下,它同樣能夠正確的處理Excel檔案。下載地址:http://www.andykhan.com/jexcelapi/ 2.jxl對Excel表格的認識 (1)每個儲存格的位置認為是由一個二維座標(i,j)給定,其中i表示列
Time of Update: 2017-01-19
本文執行個體講述了Java中計算時間差的方法。分享給大家供大家參考。具體如下:假設現在是2004-03-26 13:31:40過去是:2004-01-02 11:30:24要獲得兩個日期差,差的形式為:XX天XX小時XX分XX秒方法一:DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");try{ Date d1 = df.parse("2004-03-26 13:31:40"); Date d2 = df.parse("20
Time of Update: 2017-01-19
/** * 選擇排序的思想: * 每次迴圈前,數組左邊都是部分有序的序列, * 然後選擇右邊待排元素,將其值儲存下來 * 依次和左邊已經排好的元素比較 * 如果小於左邊的元素,就將左邊的元素右移一位 * 直到和最左邊的比較完成,或者待排元素不比左邊元素小 */ package al; public class InsertionSort { public static void main(String[] args) { InsertionSort
Time of Update: 2017-01-19
/** * 選擇排序的思想: * 每次從待排序列中找到最小的元素, * 然後將其放到待排的序列的最左邊,直到所有元素有序 * * 選擇排序改進了冒泡排序,將交換次數從O(N^2)減少到O(N) * 不過比較次數還是O(N) */ package al; public class SelectSort { public static void main(String[] args) { SelectSort selectSort = new
Time of Update: 2017-01-19
/** * 三角數字: * 比達哥斯拉領導下的古希臘數學家發現了一個有趣的數字序列1, 3, 6, 10, 15, 21,... * 你能看出他們有什麼規律嗎? * 對了它的規律就是f(x) = x+ f(x-1) * 想想是不是很像小時候打算盤從1一直加到100啊 */ package al; public class Triangle { public static void main(String[] args) { Triangle triangle = new
Time of Update: 2017-01-19
/** * 樸素字串演算法通過兩層迴圈來尋找子串, * 好像是一個包含模式的“模板”沿待查文本滑動。 * 演算法的思想是:從主串S的第pos個字元起與模式串進行比較, * 匹配不成功時,從主串S的第pos+1個字元重新與模式串進行比較。 * 如果主串S的長度是n,模式串長度是 m,那麼Brute-Force的時間複雜度是o(m*n)。 * 最壞情況出現在模式串的子串頻繁出現在主串S中。 * 雖然它的時間複雜度為o(m*n),但在一般情況下匹配時間為o(m+n), *
Time of Update: 2017-01-19
本文執行個體講述了java自訂攔截器及其用法。分享給大家供大家參考。具體如下:LoginInterceptor.java檔案如下:package com.tq365.util;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpSession;import org.apache.struts2.ServletActionContext;import
Time of Update: 2017-01-19
本文執行個體講述了JAVA獲得網域名稱IP地址的方法。分享給大家供大家參考。具體如下:import java.net.InetAddress;import java.net.UnknownHostException;public class TestInetAddress {InetAddress myIpAddress = null;InetAddress[] myServer = null;public static void main(String args[])
Time of Update: 2017-01-19
本文執行個體講述了JAVA實現FTP斷點上傳的方法。分享給大家供大家參考。具體分析如下:這裡主要使用apache中的net包來實現。網址http://commons.apache.org/net/。具體包的下載和API文檔請看官網。 斷點上傳就是在上傳的過程中設定傳輸的起始位置。並設定二進位傳輸。import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.
Time of Update: 2017-01-19
1、通過String來建立模版對象,並執行插值處理 import freemarker.template.Template; import java.io.OutputStreamWriter; import java.io.StringReader; import java.util.HashMap; import java.util.Map; /** * Freemarker最簡單的例子 * * @author leizhimin 11-11-17 上午10:32 */
Time of Update: 2017-01-19
final關鍵字可用於變數聲明,一旦該變數被設定,就不可以再改變該變數的值。 通常final定義的變數為常量。如:複製代碼 代碼如下:final double PI = 3.14; 當在程式中使用PI這個常量時,它的值就是3.14,如在程式中再次對定義為final的常量賦值,編譯器將不能接受;final關鍵字定義的變數必須在聲明時對其進行賦值操作。final除了可以修飾基礎資料型別 (Elementary Data
Time of Update: 2017-01-19
一、概述 FreeMarker 是一個模板引擎,一個基於模板產生文本輸出的通用工具,使用純 Java 編寫,FreeMarker 被設計用來產生 HTML Web 頁面,特別是基於 MVC 模式的應用程式,雖然 FreeMarker 具有一些編程的能力,但通常由 Java 程式準備要顯示的資料,由FreeMarker 產生頁面,通過模板顯示準備的資料(如下圖)FreeMarker 不是一個 Web 應用程式架構,而適合作為 Web 應用程式架構一個組件。FreeMarker
Time of Update: 2017-01-19
public class Compare { /** * == 與 equals()區別 */ public static void main(String[] args) { String s1 = new String("Hello,World!"); //建立兩個String型對象引用; String s2 = new String("Hello,World!"); String s3 = s1;
Time of Update: 2017-01-19
synchronized關鍵字synchronized,我們謂之鎖,主要用來給方法、代碼塊加鎖。當某個方法或者代碼塊使用synchronized時,那麼在同一時刻至多僅有有一個線程在執行該段代碼。當有多個線程訪問同一對象的加鎖方法/代碼塊時,同一時間只有一個線程在執行,其餘線程必須要等待當前線程執行完之後才能執行該程式碼片段。但是,其餘線程是可以訪問該對象中的非加鎖代碼塊的。synchronized主要包括兩種方法:synchronized 方法、synchronized
Time of Update: 2017-01-19
1. 類 ExecutorsExecutors類可以看做一個“工具類”。援引JDK1.6 API中的介紹: 此包中所定義的 Executor、ExecutorService、ScheduledExecutorService、ThreadFactory 和 Callable 類的工廠和實用方法。此類支援以下各種方法:(1)建立並返回設定有常用配置字串的 ExecutorService 的方法。(2)建立並返回設定有常用配置字串的 ScheduledExecutorService
Time of Update: 2017-01-19
本文執行個體介紹了簡單E-mail發送端程式的Java實現代碼,分享給大家供大家參考,具體內容如下在這個代碼中,有幾個注意點強調一下:1、使用 Socket 與 SMTP 郵件伺服器取得串連,注意 SMTP 伺服器的主機名稱;2、使用 data 命令時,若寫了 subject (主題)之後,郵件的本文部分必須與 subject 之間有一個空行,即“斷行符號+換行”,在代碼中則是 \r\n ;3、同樣需要將寄件者的信箱使用者名、密碼進行 BASE64 編碼之後再傳給 SMTP
Time of Update: 2017-01-19
JAVA MAIL是利用現有的郵件賬戶發送郵件的工具,比如說,我在網易註冊一個郵箱賬戶,通過JAVA
Time of Update: 2017-01-19
volatile 變數提供了線程的可見度,並不能保證執行緒安全性和原子性。什麼是線程的可見度: 鎖提供了兩種主要特性:互斥(mutual exclusion) 和可見度(visibility)。互斥即一次只允許一個線程持有某個特定的鎖,因此可使用該特性實現對共用資料的協調訪問協議,這樣,一次就只有一個線程能夠使用該共用資料。可見度要更加複雜一些,它必須確保釋放鎖之前對共用資料做出的更改對於隨後獲得該鎖的另一個線程是可見的 --
Time of Update: 2017-01-19
IO流基本概念IO流用來處理裝置之間的資料轉送Java對資料的操作是通過流的方式Java用於操作流的對象都是在IO包上流按操作資料分為兩種:位元組流和字元流流按流向分為:輸入資料流,輸出資料流。位元組流的抽象基類:InputStream,OutputStream字元流的抽象基類:Reader,Writer註:由這4個類派生出來的子類名稱都是以其父類名作為子類名的尾碼。如:InputStream的子類:FileInputStream如:Reader的子類FileReader如建立一個F
Time of Update: 2017-01-19
檔案加密器,操作過程肯定涉及到檔案選取器的使用,所以這裡以檔案加密器為例。下例為我自己寫的一個檔案加密器,沒什麼特別的密碼編譯演算法,只為示範檔案選取器JFileChooser的使用。加密器介面如圖:項目目錄結構如圖:下面貼出各個檔案的原始碼:MainForm.javapackage com.lidi;import javax.swing.*;import java.awt.*;public class MainForm extends JFrame { /** * 構造介面 *