自由飛翔

          我在仰望,java之上

          統計

          留言簿(2)

          我關注的blog

          閱讀排行榜

          評論排行榜

          #

          文件操作

          一、刪除文件或刪除文件目錄
          參考文章來源:http://www.examw.com/java/jichu/142150/ 

           import java.io.File;

            public class DeleteFileUtil {

            /**

            * 刪除文件,可以是單個文件或文件夾

            * @param   fileName    待刪除的文件名

            * @return 文件刪除成功返回true,否則返回false

            */

            public static boolean delete(String fileName){

            File file = new File(fileName);

            if(!file.exists()){

            System.out.println("刪除文件失?。?+fileName+"文件不存在");

            return false;

            }else{

            if(file.isFile()){

            return deleteFile(fileName);

            }else{

            return deleteDirectory(fileName);

            }

            }

            }

            /**

            * 刪除單個文件

            * @param   fileName    被刪除文件的文件名

            * @return 單個文件刪除成功返回true,否則返回false

            */

            public static boolean deleteFile(String fileName){

            File file = new File(fileName);

            if(file.isFile() && file.exists()){

            file.delete();

            System.out.println("刪除單個文件"+fileName+"成功!");

            return true;

            }else{

            System.out.println("刪除單個文件"+fileName+"失敗!");

            return false;

            }

            }

            /**

            * 刪除目錄(文件夾)以及目錄下的文件

            * @param   dir 被刪除目錄的文件路徑

            * @return  目錄刪除成功返回true,否則返回false

            */

            public static boolean deleteDirectory(String dir){

            //如果dir不以文件分隔符結尾,自動添加文件分隔符

            if(!dir.endsWith(File.separator)){

            dir = dir+File.separator;

            }

            File dirFile = new File(dir);

            //如果dir對應的文件不存在,或者不是一個目錄,則退出

            if(!dirFile.exists() || !dirFile.isDirectory()){

            System.out.println("刪除目錄失敗"+dir+"目錄不存在!");

            return false;

            }

            boolean flag = true;

            //刪除文件夾下的所有文件(包括子目錄)

            File[] files = dirFile.listFiles();

            for(int i=0;i<files.length;i++){

            //刪除子文件

            if(files[i].isFile()){

            flag = deleteFile(files[i].getAbsolutePath());

            if(!flag){

            break;

            }

            }

            //刪除子目錄

            else{

            flag = deleteDirectory(files[i].getAbsolutePath());

            if(!flag){

            break;

            }

            }

            }

            if(!flag){

            System.out.println("刪除目錄失敗");

            return false;

            }

            //刪除當前目錄

            if(dirFile.delete()){

            System.out.println("刪除目錄"+dir+"成功!");

            return true;

            }else{

            System.out.println("刪除目錄"+dir+"失??!");

            return false;

            }

            }

            public static void main(String[] args) {

            //String fileName = "g:/temp/xwz.txt";

            //DeleteFileUtil.deleteFile(fileName);

            String fileDir = "G:/temp/temp0/temp1";

            //DeleteFileUtil.deleteDirectory(fileDir);

            DeleteFileUtil.delete(fileDir);

            }

            }
          二、列出目錄或文件
          三、讀取文本

          后續,晚了,先睡了....

          posted @ 2011-08-22 02:47 GavinMiao 閱讀(322) | 評論 (2)編輯 收藏

          jsp相對路徑和絕對路徑

          一、
          1、<base>標簽的作用:
          為頁面上的所有鏈接規定默認地址或默認目標。
          2、<base>標簽的兩個屬性,target:在何處打開頁面中所有的鏈接;href:規定頁面中所有相對鏈接的基準 URL。
          3、例子:
          1)
          <%
          String path = request.getContextPath();
          String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
          %>
          <base href="<%=basePath%>">

          jsp頁面顯示:
          basePath:
          http://localhost:8080/testProject/
          2)
          <% String realPath = application.getRealPath("/"); %>

          jsp頁面顯示:
          realPath:
          D:\tomcat\webapps\testProject\
          3)
          ${request.contextPath}
          jsp頁面顯示:
          contextPath:
          /testProject
          4)
          如果請求是http://localhost:8080/testProject/page/test.jsp;

          <%=request.getRequestURI() %>
          jsp頁面顯示:
          requestURI:
          /testProject/page/test.jsp
          二、
          1、文件分隔符:unix系統:“/”,windows系統:“\”;
          System.getProperty("file.separator")
          2、路徑分隔符:unix系統:“:”,windows系統:“;”;
          System.getProperty("path.separator");
          三、
          1. <%=Thread.currentThread().getContextClassLoader().getResource("") %>
          jsp頁面顯示:
          file:/D:/tomcat/webapps/testProject/WEB-INF/classes/

          posted @ 2011-08-22 02:29 GavinMiao 閱讀(5408) | 評論 (0)編輯 收藏

          html相對路徑和絕對路徑

          文章來源 :http://blog.csdn.net/teedry/article/details/5190371


          HTML相對路徑與絕對路徑

              在網頁制作的過程中,少不了跟路徑打交道,比如,包含一個文件,插入一個圖片等,與路徑都有關系,如果使用了錯誤的文件路徑,就會導致引用失效(無法瀏覽鏈接文件,或無法顯示插入的圖片等)。初學者可能會感到困惑,下面我就詳細的介紹一下相對路徑與絕對路徑。

          HTML有2種路徑的寫法:相對路徑和絕對路徑。

          1.HTML相對路徑(Relative Path)
          同一個目錄的文件引用
          如果源文件和引用文件在同一個目錄里,直接寫引用文件名即可,這時引用文件的方式就是使用相對路徑。

          我們現在建一個源文件info.html,在info.html里要引用index.html文件作為超鏈接。

          假設info.html路徑是:c:/Inetpub/wwwroot/sites/blabla/info.html
          假設index.html路徑是:c:/Inetpub/wwwroot/sites/blabla/index.html
          在info.html加入index.html超鏈接的代碼應該這樣寫:

          <a href = "index.html">這是超連接</a>
          如何表示上級目錄
          ../表示源文件所在目錄的上一級目錄,../../表示源文件所在目錄的上上級目錄,以此類推。

          假設info.html路徑是:c:/Inetpub/wwwroot/sites/blabla/info.html
          假設index.html路徑是:c:/Inetpub/wwwroot/sites/index.html
          在info.html加入index.html超鏈接的代碼應該這樣寫:

          <a href = "../index.html">這是超連接</a>

          假設info.html路徑是:c:/Inetpub/wwwroot/sites/blabla/info.html
          假設index.html路徑是:c:/Inetpub/wwwroot/index.html
          在info.html加入index.html超鏈接的代碼應該這樣寫:


          <a href = "../../index.html">index.html</a>
          假設info.html路徑是:c:/Inetpub/wwwroot/sites/blabla/info.html
          假設index.html路徑是:c:/Inetpub/wwwroot/sites/wowstory/index.html
          在info.html加入index.html超鏈接的代碼應該這樣寫:


          <a href = "../wowstory/index.html">index.html</a>
          如何表示下級目錄
          引用下級目錄的文件,直接寫下級目錄文件的路徑即可。

          假設info.html路徑是:c:/Inetpub/wwwroot/sites/blabla/info.html
          假設index.html路徑是:c:/Inetpub/wwwroot/sites/blabla/html/index.html
          在info.html加入index.html超鏈接的代碼應該這樣寫:


          <a href = "html/index.html">這是超連接</a>
          假設info.html路徑是:c:/Inetpub/wwwroot/sites/blabla/info.html
          假設index.html路徑是:c:/Inetpub/wwwroot/sites/blabla/html/tutorials/index.html
          在info.html加入index.html超鏈接的代碼應該這樣寫:


          <a href = "html/tutorials/index.html">這是超連接</a>
          2.HTML絕對路徑(Absolute Path)
          大 家都知道,在我們平時使用計算機時要找到需要的文件就必須知道文件的位置,而表示文件的位置的方式就是路徑,例如只要看到這個路徑:c:/website /img/photo.jpg我們就知道photo.jpg文件是在c盤的website目錄下的img子目錄中。類似于這樣完整的描述文件位置的路徑就 是絕對路徑。我們不需要知道其他任何信息就可以根據絕對路徑判斷出文件的位置。而在網站中類似以http://www.ajaxstu.com/img/photo.jpg來確定文件位置的方式也是絕對路徑。


          HTML絕對路徑(absolute path)在網頁制作中指帶域名的文件的完整路徑。

          假設你注冊了域名http://www.ajaxstu.com,并申請了虛擬主機,你的虛擬主機提供商會給你一個目錄,比如www,這個www就是你網站的根目錄。

          假設你在www根目錄下放了一個文件default.asp,這個文件的絕對路徑就是: font color="#0058db">http://www.ajaxstu.com/default.asp。

          假設你在www根目錄下建了一個目錄叫archives,然后在該目錄下放了一個文件2886.html,這個文件的絕對路徑就是http://www.ajaxstu.com/archives/2886.html。

          posted @ 2011-08-22 01:12 GavinMiao 閱讀(9355) | 評論 (2)編輯 收藏

          String、StringBuffer、StringBuilder

          區別與聯系:
          1.StringBuffer是線程安全的,String和StringBuilder不是;
          2.StringBuffer和StringBuilder都是可變的,修改是針對自身的,而String是不可變的,修改一次就創建一個新的String對象;
          3.String和StringBuffer都是final類型;
          4.一般,效率上StringBuiler>StringBuffer>String
          5.StringBuilder是5.0新增的;
          用法:
          一、String
          1.常用構造函數:
          1)String(char[] value):
          eg:     
          char data[] = {'a', 'b', 'c'};
                String str = new String(data);
                2)String(String original):
                3)String(StringBuffer buffer): 
                4)String(StringBuilder builder): 
                5)String(byte[] bytes, String charsetName) :
                eg:
                String s_iso88591 = new String("中".getBytes("UTF-8"),"ISO8859-1");
                String s_utf8 = new String(s_iso88591.getBytes("ISO8859-1"),"UTF-8");
                注意:GBK編碼是一個中文2個字節,而UTF-8編碼是一個中文3個字節,
                ISO-8859-1編碼是一個字節對應一個字符;
                String gbk = "我來了";  
              String iso = new String(gbk.getBytes("UTF-8"),"ISO-8859-1"); 
                2.常用方法:
                1)charAt 方法,返回指定index的字符。
          String string ="123456789";
          char a =string.charAt(2);
          System.out.print(a);
            a=3
                2)indexOf(int ch)
          ch:unicode code point,如果字符串中沒有ch,則返回-1
          String ss = "abcde";
          System.out.println(ss.indexOf(2));
          System.out.println(ss.indexOf(98));
          結果:-1 1
          因為2對應的unicode在字符串ss中不存在,所以返回值-1,98對應的unicode 是b,所以返回值是index=1
               
                3)concat(String str)將參數連接到字符串的末尾
          concatenate 如鎖鏈般連續,使連鎖,連結
          string ="abc";
          System.out.print(string.concat("123"));
          結果:abc123
          如果str的length是0,那么這個String就會被返回。
                4)hashCode 返回字符串的hashCode值
          String string0 ="abc";
          String string1 ="abc";
          System.out.println(string1.hashCode());
          System.out.println(string1.hashCode());
          結果:
          96354
          96354
                5)contains(CharSequence s)是否包含參數
          String string0 ="abcdef";
          System.out.println( string0.contains("de"));
          結果:true
                6)startsWith(String perfix) 是否以perfix開頭,yes 返回true ,no返回false
          String string ="abcbd";
          System.out.println(    string.startsWith("abc"));
          System.out.println(    string.startsWith("Ab"));
          結果:true
          false
                7)endsWith(String suffix)是否以suffix結尾,yes 返回true ,no返回false
          String string ="abcde";
          System.out.println(    string.endsWith("e"));
          結果:true
                8)trim()去掉字符串的前后空格
          String string =" abc ";
          System.out.println(string.length()+","+    string.trim().length());
          結果:5,3
          9)length() 字符串的長度
             char chars[]={'a','b'.'c'};
              String s=new String(chars);
              int len=s.length();
          10)char[] toCharArray() 將一個字符串轉換成一個字符數組
          11)equals()和equalsIgnoreCase() 比較兩個字符串
          12)substring()  
          第一種是:String substring(int startIndex)
                  第二種是:String substring(int startIndex,int endIndex)
          13)toLowerCase() 和toUpperCase() 
          二、StringBuffer
          1、構造器:
          StringBuffer()
             StringBuffer(int size)
             StringBuffer(String str)
             StringBuffer(CharSequence chars)
          2、方法:
          1)append() 可把任何類型數據的字符串表示連接到調用的StringBuffer對象的末尾
          2)insert(int offset,Object) 在offset處插入Object對應的字符串到StringBuffer對象
          3)delete(int start,int end) 刪除字符
          4)indexOf()
          5)reverse() 顛倒StringBuffer對象中的字符
          6)length()
          7)toString()
          8)subString(int start)  或subString(int start,int end)截取子串
          三、StringBuilder
          1.構造器
          與StringBuffer相同
          2.常用的方法:
          與StringBuffer相同
          1)追加:Append
          2)插入:Insert
          3)刪除:Remove
          4)替換:Replace
          參考來源:
          http://www.aygfsteel.com/chenpengyi/archive/2006/05/04/44492.html
          http://zhuhuide2004.iteye.com/blog/562739
          http://www.iteye.com/topic/1097560
          http://www.cnblogs.com/crazyac/articles/2012791.html

          posted @ 2011-08-21 01:00 GavinMiao 閱讀(903) | 評論 (0)編輯 收藏

          各種在線api地址

          J2SE1.7英文api地址: http://download.oracle.com/javase/7/docs/api/
          J2SE1.6英文api地址:  http://download.oracle.com/javase/6/docs/api/
          J2SE1.5 英文api地址:http://download.oracle.com/javase/1.5.0/docs/api/
          J2SE1.4 英文api地址:http://download.oracle.com/javase/1.4.2/docs/api/ 
          J2EE1.5英文api地址:   http://download.oracle.com/javaee/5/api/
          J2EE1.6英文api地址:   http://download.oracle.com/javaee/6/api/
          J2EE1.4英文api地址:   http://download.oracle.com/javaee/1.4/api/  
          J2SE1.6中文api地址:http://www.xasxt.com/java/api/ 
          struts2.1.8.1英文api地址:  http://struts.apache.org/2.2.1/struts2-core/apidocs/
          struts1.3.8英文api地址:    http://struts.apache.org/1.3.8/apidocs/index.html
          struts1.3.10英文api地址:   1.3.10 http://struts.apache.org/1.x/apidocs/
          spring2.5英文api地址:   http://static.springsource.org/spring/docs/2.5.x/api/index.html  
          spring2.0英文api地址:   http://static.springsource.org/spring/docs/2.0.x/api/index.html   
          spring2.5.2中文 reference地址:  http://ajava.org/online/spring2.5/html/
          spring2.0中文 reference地址: http://ajava.org/online/spring2/html/
          hibernate3.5.6 Final英文api地址: http://docs.jboss.org/hibernate/core/3.5/javadocs/  
          hibernate3.5.6 Final中文reference地址: http://docs.jboss.org/hibernate/core/3.5/reference/zh-CN/html/ mysql5.1中文reference地址:http://ajava.org/online/mysql5.1/
          css2中文手冊:http://ajava.org/online/css2/
          jquery1.3api:http://ajava.org/online/jQueryAPIhtml/
          actionscript3語言和組件參考:http://ajava.org/online/ActionScript3/
          ehcache1.7英文api:   http://ajava.org/online/ehcache-1.7.0-javadoc/
          java語言編碼規范中文版: http://doc.javanb.com/code-conventions-for-the-java-programming-language-zh/index.html  
          log4j1.2.15 api :http://ajava.org/online/log4j-1.2.15-api/

          tomcat5.5-doc:http://tomcat.apache.org/tomcat-5.5-doc/introduction.html
          tomcat6.0-doc:http://tomcat.apache.org/tomcat-6.0-doc/introduction.html 
          tomcat7.0-doc:http://tomcat.apache.org/tomcat-7.0-doc/index.html 
          轉載請注明出處!

          posted @ 2011-08-20 17:06 GavinMiao 閱讀(5170) | 評論 (1)編輯 收藏

          寫一個toJSON方法將Map對象轉換成JSON字符串

          /**
           * 
           * @author gavin
           *
           */
          public class Gson{
          public static String toJson(Map<String,String> map){
             Set<String> keys = map.keySet();
             String key = "";
             String value = "";
             StringBuffer jsonBuffer = new StringBuffer();
             jsonBuffer.append("{");    
             for(Iterator<String> it = keys.iterator();it.hasNext();){
                 key =  (String)it.next();
                 value = map.get(key);
                 jsonBuffer.append(key+":"+value);
                 if(it.hasNext()){
                      jsonBuffer.append(",");
                 }
             }
             jsonBuffer.append("}");
             return jsonBuffer.toString();
          }
          public static String toJson2(Map<String,String> map){
          Set<Map.Entry<String, String>> entrys = map.entrySet();
          Map.Entry<String, String> entry = null;
             String key = "";
             String value = "";
             StringBuffer jsonBuffer = new StringBuffer();
             jsonBuffer.append("{");    
             for(Iterator<Map.Entry<String, String>> it = entrys.iterator();it.hasNext();){
              entry =  (Map.Entry<String, String>)it.next();
              key = entry.getKey();
                 value = entry.getValue();
                 jsonBuffer.append(key+":"+value);
                 if(it.hasNext()){
                      jsonBuffer.append(",");
                 }
             }
             jsonBuffer.append("}");
             return jsonBuffer.toString();
          }
          public static void main(String args[]){
          Map<String,String> map = new TreeMap<String,String>();
          map.put("1", "zhangyi");
          map.put("2", "zhanger");
          map.put("3", "zhangsan");
          map.put("4", "zhangsi");
          map.put("5", "zhangwu");
          System.out.println(toJson(map));
          System.out.println(toJson2(map));
          }
          }

          運行結果:

          {1:zhangyi,2:zhanger,3:zhangsan,4:zhangsi,5:zhangwu}
          {1:zhangyi,2:zhanger,3:zhangsan,4:zhangsi,5:zhangwu}

          posted @ 2011-08-19 00:23 GavinMiao 閱讀(11751) | 評論 (3)編輯 收藏

          oracle to_date、to_char、trunc

            select sysdate,to_char(sysdate,’yyyy-mm-dd hh24:mi:ss’) from dual   
            select sysdate,to_char(sysdate,’yyyy-mm-dd hh:mi:ss’) from dual   
            select sysdate,to_char(sysdate,’yyyy-ddd hh:mi:ss’) from dual 
            select sysdate,to_char(sysdate,’yyyy-mm iw-d hh:mi:ss’) from dual 
          字符到日期操作   
            select to_date(’2003-10-17 21:15:37’,’yyyy-mm-dd hh24:mi:ss’) from dual
          trunk函數的使用 
            select trunc(sysdate ,’YEAR’) from dual 
            select trunc(sysdate ) from dual 
            select to_char(trunc(sysdate ,’YYYY’),’YYYY’) from dual 

          posted @ 2011-08-18 17:57 GavinMiao 閱讀(621) | 評論 (0)編輯 收藏

          oracle并交差

          轉載:http://chenhua-1984.iteye.com/blog/350354

          集合操作有 并,交,差 3種運算。 

           union :得到兩個查詢結果的并集,并且自動去掉重復行。不會排序 

           union all:得到兩個查詢結果的并集,不會去掉重復行。也不會排序 

           intersect:得到兩個查詢結果的交集,并且按照結果集的第一個列進行排序 

           minus:得到兩個查詢結果的減集,以第一列進行排序 

          例子: 

            下面是兩個表:一個主修課程表,一個選修課程表。 

          這個是主修課程表:minors 

               create table minors( 
                   minor_id number primary key, 
                   minor_name varchar2(30) not null, 
                   credit_hour number(2) 
                ) 

          插入3條記錄:                

                insert into minors values(10101,'計算機原理',4) 
                insert into minors values(10201,'自動控制原理',3) 
                insert into minors values(10301,'工程制圖原理',4) 

          下面創建選修課程表minors2 

                 create table minors2( 
                   minor_id number primary key, 
                   minor_name varchar2(30) not null, 
                   credit_hour number(2) 
                 ) 

          插入兩條記錄: 
                  insert into minors2 values(10201,'自動控制原理',3) 
                 insert into minors2 values(10301,'工程制圖原理',4)   

          兩個表使用union all:得到如下結果 

                  select minor_id,minor_name,credit_hour from minors union all 
                 select minor_id,minor_name,credit_hour from minors2 order by     credit_hour 

          結果: 
              
          MINOR_ID MINOR_NAME                     CREDIT_HOUR 
          ---------- ------------------------------ ----------- 
               10201 自動控制原理                             3 
               10201 自動控制原理                             3 
               10101 計算機原理                               4 
               10301 工程制圖原理                             4 
               10301 工程制圖原理                             4 

          兩個表使用union :得到如下結果 

          select minor_id,minor_name,credit_hour from minors union 
              select minor_id,minor_name,credit_hour from minors2 order by credit_hour 

          結果: 

          MINOR_ID MINOR_NAME                     CREDIT_HOUR 
          ---------- ------------------------------ ----------- 
               10201 自動控制原理                             3 
               10101 計算機原理                               4 
               10301 工程制圖原理                             4 

          兩個表使用intersect :得到如下結果 

               select minor_id,minor_name,credit_hour from minors intersect 
              select minor_id,minor_name,credit_hour from minors2 

          結果: 

          MINOR_ID MINOR_NAME                     CREDIT_HOUR 
          ---------- ------------------------------ ----------- 
               10201 自動控制原理                             3 
               10301 工程制圖原理                             4 

          兩個表使用minus :得到如下結果 

              select minor_id,minor_name,credit_hour from minors minus 
              select minor_id,minor_name,credit_hour from minors2 

          結果: 

          MINOR_ID MINOR_NAME                     CREDIT_HOUR 
          ---------- ------------------------------ ----------- 
               10101 計算機原理                               4

          posted @ 2011-08-18 17:34 GavinMiao 閱讀(482) | 評論 (0)編輯 收藏

          線程創建及調用方式

          方法一:
          public class MyThread  extends Tread{
              //覆蓋Tread的run方法
              public void run(){
                  。。。
              }
              //調用
              public static void main(String[] args){
                  new MyTread().start();
              }
          }
          方法二:
          public class MyTread implements Runnable{
              //實現Runnable的run方法
              public void run(){
                  。。。
              }
              //調用
              public static void main(String[] args){
                  new Tread(new MyTread()).start();
              }
          }

          posted @ 2011-08-14 23:21 GavinMiao 閱讀(201) | 評論 (0)編輯 收藏

          jsp scriptlet

          jsp有中調用java方式:
           <%%>:scriptlet
          <%!%>:聲明
          <%=%>:表達式
          yourJspName_jsp.java對應 yourname.jsp
          經驗證,<%! code %>無論寫在yourname.jsp的任何位置,code都處在yourJspName_jsp.java的成員聲明中;
          經驗證, <% code %>無論寫在yourname.jsp的任何位置,code都處在yourJspName_jsp.java的_jspService成員方法中;
          經驗證,<%=statement%>無論寫在yourname.jsp的任何位置,statement都處在yourJspName_jsp.java的_jspService成員方法中的out.write(statement)中;
          注意:
          1.
          用 <%!   %> 定義的變量,成為這個類的變量,用 <%!   %> 定義的方法也是如此,成為這個類的方法。
          2.
          <%...%> 中定義的變量其實是方法   _jspService()   的內部變量. 即類的局部變量。

          posted @ 2011-08-10 19:05 GavinMiao 閱讀(301) | 評論 (0)編輯 收藏

          僅列出標題
          共14頁: First 上一頁 6 7 8 9 10 11 12 13 14 下一頁 
          主站蜘蛛池模板: 弥渡县| 浦东新区| 炎陵县| 建瓯市| 蒙自县| 赫章县| 资溪县| 莱州市| 新津县| 三亚市| 石家庄市| 福鼎市| 永寿县| 边坝县| 营山县| 富川| 青铜峡市| 黔江区| 屯留县| 寿光市| 都匀市| 齐河县| 墨脱县| 临汾市| 丰城市| 古蔺县| 常德市| 京山县| 拉萨市| 夹江县| 西城区| 威海市| 徐水县| 赤峰市| 济阳县| 米脂县| 冷水江市| 开鲁县| 张北县| 仁布县| 禹城市|