??xml version="1.0" encoding="utf-8" standalone="yes"?>91亚洲国产成人精品性色,亚洲尤物在线视频观看,国产欧美大片http://www.aygfsteel.com/xyy198203/category/18580.htmlDAY DAY UP , STUDY HARDzh-cnWed, 28 Feb 2007 04:17:58 GMTWed, 28 Feb 2007 04:17:58 GMT60java旉大全http://www.aygfsteel.com/xyy198203/articles/97861.html没有鱼的?/dc:creator>没有鱼的?/author>Sun, 04 Feb 2007 09:15:00 GMThttp://www.aygfsteel.com/xyy198203/articles/97861.htmlhttp://www.aygfsteel.com/xyy198203/comments/97861.htmlhttp://www.aygfsteel.com/xyy198203/articles/97861.html#Feedback0http://www.aygfsteel.com/xyy198203/comments/commentRss/97861.htmlhttp://www.aygfsteel.com/xyy198203/services/trackbacks/97861.html 

/**
 日期c?br /> * @date   2003-12-04
 * @version 1.0
 */

import java.util.*;
import java.text.*;
import java.util.Calendar;

public class VeDate {
 /**
  * 获取现在旉
  *
  * @return q回旉cd yyyy-MM-dd HH:mm:ss
  */
 public static Date getNowDate() {
  Date currentTime = new Date();
  SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  String dateString = formatter.format(currentTime);
  ParsePosition pos = new ParsePosition(8);
  Date currentTime_2 = formatter.parse(dateString, pos);
  return currentTime_2;
 }

 /**
  * 获取现在旉
  *
  * @returnq回短时间格?yyyy-MM-dd
  */
 public static Date getNowDateShort() {
  Date currentTime = new Date();
  SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
  String dateString = formatter.format(currentTime);
  ParsePosition pos = new ParsePosition(8);
  Date currentTime_2 = formatter.parse(dateString, pos);
  return currentTime_2;
 }

 /**
  * 获取现在旉
  *
  * @returnq回字符串格?yyyy-MM-dd HH:mm:ss
  */
 public static String getStringDate() {
  Date currentTime = new Date();
  SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  String dateString = formatter.format(currentTime);
  return dateString;
 }

 /**
  * 获取现在旉
  *
  * @return q回短时间字W串格式yyyy-MM-dd
  */
 public static String getStringDateShort() {
  Date currentTime = new Date();
  SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
  String dateString = formatter.format(currentTime);
  return dateString;
 }

 /**
  * 获取旉 时:?U?HH:mm:ss
  *
  * @return
  */
 public static String getTimeShort() {
  SimpleDateFormat formatter = new SimpleDateFormat("HH:mm:ss");
  Date currentTime = new Date();
  String dateString = formatter.format(currentTime);
  return dateString;
 }

 /**
  * 长旉格式字符串{换ؓ旉 yyyy-MM-dd HH:mm:ss
  *
  * @param strDate
  * @return
  */
 public static Date strToDateLong(String strDate) {
  SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  ParsePosition pos = new ParsePosition(0);
  Date strtodate = formatter.parse(strDate, pos);
  return strtodate;
 }

 /**
  * 长旉格式旉转换为字W串 yyyy-MM-dd HH:mm:ss
  *
  * @param dateDate
  * @return
  */
 public static String dateToStrLong(java.util.Date dateDate) {
  SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  String dateString = formatter.format(dateDate);
  return dateString;
 }

 /**
  * 短旉格式旉转换为字W串 yyyy-MM-dd
  *
  * @param dateDate
  * @param k
  * @return
  */
 public static String dateToStr(java.util.Date dateDate) {
  SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
  String dateString = formatter.format(dateDate);
  return dateString;
 }

 /**
  * 短旉格式字符串{换ؓ旉 yyyy-MM-dd
  *
  * @param strDate
  * @return
  */
 public static Date strToDate(String strDate) {
  SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
  ParsePosition pos = new ParsePosition(0);
  Date strtodate = formatter.parse(strDate, pos);
  return strtodate;
 }

 /**
  * 得到现在旉
  *
  * @return
  */
 public static Date getNow() {
  Date currentTime = new Date();
  return currentTime;
 }

 /**
  * 提取一个月中的最后一?br />  *
  * @param day
  * @return
  */
 public static Date getLastDate(long day) {
  Date date = new Date();
  long date_3_hm = date.getTime() - 3600000 * 34 * day;
  Date date_3_hm_date = new Date(date_3_hm);
  return date_3_hm_date;
 }

 /**
  * 得到现在旉
  *
  * @return 字符?yyyyMMdd HHmmss
  */
 public static String getStringToday() {
  Date currentTime = new Date();
  SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMdd HHmmss");
  String dateString = formatter.format(currentTime);
  return dateString;
 }

 /**
  * 得到现在时
  */
 public static String getHour() {
  Date currentTime = new Date();
  SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  String dateString = formatter.format(currentTime);
  String hour;
  hour = dateString.substring(11, 13);
  return hour;
 }

 /**
  * 得到现在分钟
  *
  * @return
  */
 public static String getTime() {
  Date currentTime = new Date();
  SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  String dateString = formatter.format(currentTime);
  String min;
  min = dateString.substring(14, 16);
  return min;
 }

 /**
  * Ҏ用户传入的时间表C格式,q回当前旉的格?如果是yyyyMMddQ注意字母y不能大写?br />  *
  * @param sformat
  *            yyyyMMddhhmmss
  * @return
  */
 public static String getUserDate(String sformat) {
  Date currentTime = new Date();
  SimpleDateFormat formatter = new SimpleDateFormat(sformat);
  String dateString = formatter.format(currentTime);
  return dateString;
 }

 /**
  * 二个时旉间的差?必须保证二个旉都是"HH:MM"的格式,q回字符型的分钟
  */
 public static String getTwoHour(String st1, String st2) {
  String[] kk = null;
  String[] jj = null;
  kk = st1.split(":");
  jj = st2.split(":");
  if (Integer.parseInt(kk[0]) < Integer.parseInt(jj[0]))
   return "0";
  else {
   double y = Double.parseDouble(kk[0]) + Double.parseDouble(kk[1])
     / 60;
   double u = Double.parseDouble(jj[0]) + Double.parseDouble(jj[1])
     / 60;
   if ((y - u) > 0)
    return y - u + "";
   else
    return "0";
  }
 }

 /**
  * 得到二个日期间的间隔天数
  */
 public static String getTwoDay(String sj1, String sj2) {
  SimpleDateFormat myFormatter = new SimpleDateFormat("yyyy-MM-dd");
  long day = 0;
  try {
   java.util.Date date = myFormatter.parse(sj1);
   java.util.Date mydate = myFormatter.parse(sj2);
   day = (date.getTime() - mydate.getTime()) / (24 * 60 * 60 * 1000);
  } catch (Exception e) {
   return "";
  }
  return day + "";
 }

 /**
  * 旉前推或后推分?其中JJ表示分钟.
  */
 public static String getPreTime(String sj1, String jj) {
  SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  String mydate1 = "";
  try {
   Date date1 = format.parse(sj1);
   long Time = (date1.getTime() / 1000) + Integer.parseInt(jj) * 60;
   date1.setTime(Time * 1000);
   mydate1 = format.format(date1);
  } catch (Exception e) {
  }
  return mydate1;
 }

 /**
  * 得到一个时间g后或前移几天的时?nowdate为时?delay为前UL后g的天?br />  */
 public static String getNextDay(String nowdate, String delay) {
  try {
   SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
   String mdate = "";
   Date d = strToDate(nowdate);
   long myTime = (d.getTime() / 1000) + Integer.parseInt(delay) * 24
     * 60 * 60;
   d.setTime(myTime * 1000);
   mdate = format.format(d);
   return mdate;
  } catch (Exception e) {
   return "";
  }
 }

 /**
  * 判断是否润年
  *
  * @param ddate
  * @return
  */
 public static boolean isLeapYear(String ddate) {

  /**
   * 详细设计Q?1.?00整除是闰q_否则Q?2.不能?整除则不是闰q?3.能被4整除同时不能?00整除则是闰年
   * 3.能被4整除同时能被100整除则不是闰q?br />   */
  Date d = strToDate(ddate);
  GregorianCalendar gc = (GregorianCalendar) Calendar.getInstance();
  gc.setTime(d);
  int year = gc.get(Calendar.YEAR);
  if ((year % 400) == 0)
   return true;
  else if ((year % 4) == 0) {
   if ((year % 100) == 0)
    return false;
   else
    return true;
  } else
   return false;
 }

 /**
  * q回国旉格式 26 Apr 2006
  *
  * @param str
  * @return
  */
 public static String getEDate(String str) {
  SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
  ParsePosition pos = new ParsePosition(0);
  Date strtodate = formatter.parse(str, pos);
  String j = strtodate.toString();
  String[] k = j.split(" ");
  return k[2] + k[1].toUpperCase() + k[5].substring(2, 4);
 }

 /**
  * 获取一个月的最后一?br />  *
  * @param dat
  * @return
  */
 public static String getEndDateOfMonth(String dat) {// yyyy-MM-dd
  String str = dat.substring(0, 8);
  String month = dat.substring(5, 7);
  int mon = Integer.parseInt(month);
  if (mon == 1 || mon == 3 || mon == 5 || mon == 7 || mon == 8
    || mon == 10 || mon == 12) {
   str += "31";
  } else if (mon == 4 || mon == 6 || mon == 9 || mon == 11) {
   str += "30";
  } else {
   if (isLeapYear(dat)) {
    str += "29";
   } else {
    str += "28";
   }
  }
  return str;
 }

 /**
  * 判断二个旉是否在同一个周
  *
  * @param date1
  * @param date2
  * @return
  */
 public static boolean isSameWeekDates(Date date1, Date date2) {
  Calendar cal1 = Calendar.getInstance();
  Calendar cal2 = Calendar.getInstance();
  cal1.setTime(date1);
  cal2.setTime(date2);
  int subYear = cal1.get(Calendar.YEAR) - cal2.get(Calendar.YEAR);
  if (0 == subYear) {
   if (cal1.get(Calendar.WEEK_OF_YEAR) == cal2
     .get(Calendar.WEEK_OF_YEAR))
    return true;
  } else if (1 == subYear && 11 == cal2.get(Calendar.MONTH)) {
   // 如果12月的最后一周横跨来q第一周的话则最后一周即做来年的第一?br />   if (cal1.get(Calendar.WEEK_OF_YEAR) == cal2
     .get(Calendar.WEEK_OF_YEAR))
    return true;
  } else if (-1 == subYear && 11 == cal1.get(Calendar.MONTH)) {
   if (cal1.get(Calendar.WEEK_OF_YEAR) == cal2
     .get(Calendar.WEEK_OF_YEAR))
    return true;
  }
  return false;
 }

 /**
  * 产生周序?卛_到当前时间所在的q度是第几周
  *
  * @return
  */
 public static String getSeqWeek() {
  Calendar c = Calendar.getInstance(Locale.CHINA);
  String week = Integer.toString(c.get(Calendar.WEEK_OF_YEAR));
  if (week.length() == 1)
   week = "0" + week;
  String year = Integer.toString(c.get(Calendar.YEAR));
  return year + week;
 }

 /**
  * 获得一个日期所在的周的星期几的日期Q如要找?002q??日所在周的星期一是几?br />  *
  * @param sdate
  * @param num
  * @return
  */
 public static String getWeek(String sdate, String num) {
  // 再{换ؓ旉
  Date dd = VeDate.strToDate(sdate);
  Calendar c = Calendar.getInstance();
  c.setTime(dd);
  if (num.equals("1")) // q回星期一所在的日期
   c.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
  else if (num.equals("2")) // q回星期二所在的日期
   c.set(Calendar.DAY_OF_WEEK, Calendar.TUESDAY);
  else if (num.equals("3")) // q回星期三所在的日期
   c.set(Calendar.DAY_OF_WEEK, Calendar.WEDNESDAY);
  else if (num.equals("4")) // q回星期四所在的日期
   c.set(Calendar.DAY_OF_WEEK, Calendar.THURSDAY);
  else if (num.equals("5")) // q回星期五所在的日期
   c.set(Calendar.DAY_OF_WEEK, Calendar.FRIDAY);
  else if (num.equals("6")) // q回星期六所在的日期
   c.set(Calendar.DAY_OF_WEEK, Calendar.SATURDAY);
  else if (num.equals("0")) // q回星期日所在的日期
   c.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
  return new SimpleDateFormat("yyyy-MM-dd").format(c.getTime());
 }

 /**
  * Ҏ一个日期,q回是星期几的字W串
  *
  * @param sdate
  * @return
  */
 public static String getWeek(String sdate) {
  // 再{换ؓ旉
  Date date = VeDate.strToDate(sdate);
  Calendar c = Calendar.getInstance();
  c.setTime(date);
  // int hour=c.get(Calendar.DAY_OF_WEEK);
  // hour中存的就是星期几了,其范?1~7
  // 1=星期?7=星期六,其他cL
  return new SimpleDateFormat("EEEE").format(c.getTime());
 }

 public static String getWeekStr(String sdate) {
  String str = "";
  str = VeDate.getWeek(sdate);
  if ("1".equals(str)) {
   str = "星期?;
  } else if ("2".equals(str)) {
   str = "星期一";
  } else if ("3".equals(str)) {
   str = "星期?;
  } else if ("4".equals(str)) {
   str = "星期?;
  } else if ("5".equals(str)) {
   str = "星期?;
  } else if ("6".equals(str)) {
   str = "星期?;
  } else if ("7".equals(str)) {
   str = "星期?;
  }
  return str;
 }

 /**
  * 两个旉之间的天?br />  *
  * @param date1
  * @param date2
  * @return
  */
 public static long getDays(String date1, String date2) {
  if (date1 == null || date1.equals(""))
   return 0;
  if (date2 == null || date2.equals(""))
   return 0;
  // 转换为标准时?br />  SimpleDateFormat myFormatter = new SimpleDateFormat("yyyy-MM-dd");
  java.util.Date date = null;
  java.util.Date mydate = null;
  try {
   date = myFormatter.parse(date1);
   mydate = myFormatter.parse(date2);
  } catch (Exception e) {
  }
  long day = (date.getTime() - mydate.getTime()) / (24 * 60 * 60 * 1000);
  return day;
 }

 /**
  * 形成如下的日?Q?Ҏ传入的一个时间返回一个结?星期?星期一 星期?星期?星期?星期?星期?下面是当月的各个旉
  * 此函数返回该日历W一行星期日所在的日期
  *
  * @param sdate
  * @return
  */
 public static String getNowMonth(String sdate) {
  // 取该旉所在月的一?br />  sdate = sdate.substring(0, 8) + "01";

  // 得到q个月的1h星期?br />  Date date = VeDate.strToDate(sdate);
  Calendar c = Calendar.getInstance();
  c.setTime(date);
  int u = c.get(Calendar.DAY_OF_WEEK);
  String newday = VeDate.getNextDay(sdate, (1 - u) + "");
  return newday;
 }

 /**
  * 取得数据库主?生成格式为yyyymmddhhmmss+k位随机数
  *
  * @param k
  *            表示是取几位随机敎ͼ可以自己?br />  */

 public static String getNo(int k) {

  return getUserDate("yyyyMMddhhmmss") + getRandom(k);
 }

 /**
  * q回一个随机数
  *
  * @param i
  * @return
  */
 public static String getRandom(int i) {
  Random jjj = new Random();
  // int suiJiShu = jjj.nextInt(9);
  if (i == 0)
   return "";
  String jj = "";
  for (int k = 0; k < i; k++) {
   jj = jj + jjj.nextInt(9);
  }
  return jj;
 }

 /**
  *
  * @param args
  */
 public static boolean RightDate(String date) {

  SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
  ;
  if (date == null)
   return false;
  if (date.length() > 10) {
   sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
  } else {
   sdf = new SimpleDateFormat("yyyy-MM-dd");
  }
  try {
   sdf.parse(date);
  } catch (ParseException pe) {
   return false;
  }
  return true;
 }

 /***************************************************************************
  * //nd=1表示q回的g包含q度 //yf=1表示q回的g包含月䆾 //rq=1表示q回的g包含日期 //format表示q回的格?1
  * 以年月日中文q回 2 以横U?q回 // 3 以斜U?q回 4 以羃写不带其它符号Ş式返?// 5 以点?q回
  **************************************************************************/
 
 public static String getNextMonthDay(String sdate, int m) {
  sdate = getOKDate(sdate);
  int year = Integer.parseInt(sdate.substring(0, 4));
  int month = Integer.parseInt(sdate.substring(5, 7));
  month = month + m;
  if (month < 0) {
   month = month + 12;
   year = year - 1;
  } else if (month > 12) {
   month = month - 12;
   year = year + 1;
  }
  String smonth = "";
  if (month < 10)
   smonth = "0" + month;
  else
   smonth = "" + month;
  return year + "-" + smonth + "-10";
 }

 public static String getOKDate(String sdate) {
  if (sdate == null || sdate.equals(""))
   return getStringDateShort();

  if (!VeStr.Isdate(sdate)) {
   sdate = getStringDateShort();
  }
  // ?”{换ؓ??br />  sdate = VeStr.Replace(sdate, "/", "-");
  // 如果只有8位长度,则要q行转换
  if (sdate.length() == 8)
   sdate = sdate.substring(0, 4) + "-" + sdate.substring(4, 6) + "-"
     + sdate.substring(6, 8);
  SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
  ParsePosition pos = new ParsePosition(0);
  Date strtodate = formatter.parse(sdate, pos);
  String dateString = formatter.format(strtodate);
  return dateString;
 }

 public static void main(String[] args) throws Exception {
  try {
   // System.out.print(Integer.valueOf(getTwoDay("2006-11-03 12:22:10",
   // "2006-11-02 11:22:09")));
  } catch (Exception e) {
   throw new Exception();
  }
  // System.out.println("sss");
 }
}



]]>
java文g的各U操?/title><link>http://www.aygfsteel.com/xyy198203/articles/96442.html</link><dc:creator>没有鱼的?/dc:creator><author>没有鱼的?/author><pubDate>Mon, 29 Jan 2007 02:15:00 GMT</pubDate><guid>http://www.aygfsteel.com/xyy198203/articles/96442.html</guid><wfw:comment>http://www.aygfsteel.com/xyy198203/comments/96442.html</wfw:comment><comments>http://www.aygfsteel.com/xyy198203/articles/96442.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/xyy198203/comments/commentRss/96442.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/xyy198203/services/trackbacks/96442.html</trackback:ping><description><![CDATA[/** <br /> * //FileOperate.java<br /> * 文g的各U操?br /> * booby <a href="/xyy198203">http://www.aygfsteel.com/xyy198203</a><a ></a><br /> * 文g操作 1.0<br /> */ <br /> <br />//package common; <br /> <br />import java.io.*; <br /> <br />public class FileOperate<br />{<br /> static boolean exitnow=false;<br /> static String aa,bb; <br />  public FileOperate() { <br />  } <br /> <br />  /** <br />   * 新徏目录 <br />   */ <br />  public void newFolder(String folderPath) { <br />    try <br />    { <br />      String filePath = folderPath; <br />      filePath = filePath.toString(); <br />      File myFilePath = new File(filePath); <br />      if(!myFilePath.exists()) <br />      { <br />        myFilePath.mkdir();<br />      }<br />      System.out.println("新徏目录操作 成功执行"); <br />    } <br />    catch(Exception e)<br />    { <br />      System.out.println("新徏目录操作出错"); <br />      e.printStackTrace(); <br />    } <br />  } <br /> <br />  /** <br />   * 新徏文g <br />   */ <br />  public void newFile(String filePathAndName, String fileContent)<br />  { <br /> <br />    try<br />    { <br />      String filePath = filePathAndName; <br />      filePath = filePath.toString(); <br />      File myFilePath = new File(filePath); <br />      if (!myFilePath.exists())<br />      { <br />        myFilePath.createNewFile(); <br />      } <br />      FileWriter resultFile = new FileWriter(myFilePath); <br />      PrintWriter myFile = new PrintWriter(resultFile); <br />      String strContent = fileContent; <br />      myFile.println(strContent); <br />      resultFile.close(); <br />      System.out.println("新徏文g操作 成功执行"); <br />    } <br />    catch (Exception e) { <br />      System.out.println("新徏目录操作出错"); <br />      e.printStackTrace(); <br /> <br />    } <br /> <br />  } <br /> <br />  /** <br />   * 删除文g <br />   */ <br />  public void delFile(String filePathAndName) { <br />    try { <br />      String filePath = filePathAndName; <br />      filePath = filePath.toString(); <br />      File myDelFile = new File(filePath); <br />      myDelFile.delete(); <br />      System.out.println("删除文g操作 成功执行"); <br />    } <br />    catch (Exception e) { <br />      System.out.println("删除文g操作出错"); <br />      e.printStackTrace(); <br /> <br />    } <br /> <br />  } <br /> <br />  /** <br />   * 删除文g?<br />   */ <br />  public void delFolder(String folderPath)<br />  { <br />    try<br />    { <br />      delAllFile(folderPath); //删除完里面所有内?<br />      String filePath = folderPath; <br />      filePath = filePath.toString(); <br />      File myFilePath = new File(filePath); <br />      myFilePath.delete(); //删除I文件夹 <br />      System.out.println("删除文gҎ?成功执行"); <br />    } <br />    catch (Exception e)<br />    { <br />      System.out.println("删除文gҎ作出?); <br />      e.printStackTrace(); <br /> <br />    } <br /> <br />  } <br /> <br />  /** <br />   * 删除文g多w面的所有文?<br />   * @param path String 文g夹\??c:/fqf <br />   */ <br />  public void delAllFile(String path)<br />  { <br />    File file = new File(path); <br />    if(!file.exists())<br />    { <br />      return; <br />    } <br />    if(!file.isDirectory())<br />    { <br />      return; <br />    } <br />    String[] tempList = file.list(); <br />    File temp = null; <br />    for (int i = 0; i < tempList.length; i++)<br />    { <br />      if(path.endsWith(File.separator))<br />      { <br />        temp = new File(path + tempList[i]); <br />      } <br />      else<br />      { <br />        temp = new File(path + File.separator + tempList[i]); <br />      } <br />      if (temp.isFile())<br />      { <br />        temp.delete(); <br />      } <br />      if (temp.isDirectory())<br />      { <br />        delAllFile(path+"/"+ tempList[i]);//先删除文件夹里面的文?<br />        delFolder(path+"/"+ tempList[i]);//再删除空文g?<br />      } <br />    }<br />          System.out.println("删除文g操作 成功执行");  <br />  } <br /> <br />  /** <br />   * 复制单个文g <br />   * @param oldPath String 原文件\?如:c:/fqf.txt <br />   * @param newPath String 复制后\?如:f:/fqf.txt <br />   */ <br />  public void copyFile(String oldPath, String newPath) { <br />    try { <br />      int bytesum = 0; <br />      int byteread = 0; <br />      File oldfile = new File(oldPath); <br />      if (oldfile.exists())<br />      { //文g存在?<br />        InputStream inStream = new FileInputStream(oldPath); //d原文?<br />        FileOutputStream fs = new FileOutputStream(newPath); <br />        byte[] buffer = new byte[1444]; <br />        int length; <br />        while ( (byteread = inStream.read(buffer)) != -1) { <br />          bytesum += byteread; //字节?文g大小 <br />          System.out.println(bytesum); <br />          fs.write(buffer, 0, byteread); <br />        } <br />        inStream.close(); <br />      }<br />            System.out.println("删除文gҎ?成功执行");  <br />    } <br />    catch (Exception e) { <br />      System.out.println("复制单个文g操作出错"); <br />      e.printStackTrace(); <br /> <br />    } <br /> <br />  } <br /> <br />  /** <br />   * 复制整个文g夹内?<br />   * @param oldPath String 原文件\?如:c:/fqf <br />   * @param newPath String 复制后\?如:f:/fqf/ff <br />   */ <br />  public void copyFolder(String oldPath, String newPath) { <br /> <br />    try<br />    { <br />      (new File(newPath)).mkdirs(); //如果文g夹不存在 则徏立新文g?<br />      File a=new File(oldPath); <br />      String[] file=a.list(); <br />      File temp=null; <br />      for (int i = 0; i < file.length; i++)<br />      { <br />        if(oldPath.endsWith(File.separator))<br />        { <br />          temp=new File(oldPath+file[i]); <br />        } <br />        else{ <br />          temp=new File(oldPath+File.separator+file[i]); <br />        } <br /> <br />        if(temp.isFile())<br />        { <br />          FileInputStream input = new FileInputStream(temp); <br />          FileOutputStream output = new FileOutputStream(newPath + "/" + <br />              (temp.getName()).toString()); <br />          byte[] b = new byte[1024 * 5]; <br />          int len; <br />          while ( (len = input.read(b)) != -1)<br />          { <br />            output.write(b, 0, len); <br />          } <br />          output.flush(); <br />          output.close(); <br />          input.close(); <br />        } <br />        if(temp.isDirectory())<br />        {//如果是子文g?<br />          copyFolder(oldPath+"/"+file[i],newPath+"/"+file[i]); <br />        } <br />      }<br />            System.out.println("复制文gҎ?成功执行");  <br />    } <br />    catch (Exception e) { <br />      System.out.println("复制整个文g夹内Ҏ作出?); <br />      e.printStackTrace(); <br /> <br />    } <br /> <br />  } <br /> <br />  /** <br />   * Ud文g到指定目?<br />   * @param oldPath String 如:c:/fqf.txt <br />   * @param newPath String 如:d:/fqf.txt <br />   */ <br />  public void moveFile(String oldPath, String newPath) { <br />    copyFile(oldPath, newPath); <br />    delFile(oldPath); <br /> <br />  } <br /> <br />  /** <br />   * Ud文g到指定目?<br />   * @param oldPath String 如:c:/fqf.txt <br />   * @param newPath String 如:d:/fqf.txt <br />   */ <br />  public void moveFolder(String oldPath, String newPath) { <br />    copyFolder(oldPath, newPath); <br />    delFolder(oldPath); <br /> <br />  }<br />  <br />  public static void main(String args[])<br />  {<br />   System.out.println("使用此功能请按[1]  功能一Q新建目?);<br />   System.out.println("使用此功能请按[2]  功能二:新徏文g");<br />   System.out.println("使用此功能请按[3]  功能三:删除文g");<br />   System.out.println("使用此功能请按[4]  功能四:删除文g?);<br />   System.out.println("使用此功能请按[5]  功能五:删除文g多w面的所有文?);<br />   System.out.println("使用此功能请按[6]  功能六:复制文g");<br />   System.out.println("使用此功能请按[7]  功能七:复制文g夹的所有内?);<br />   System.out.println("使用此功能请按[8]  功能八:Ud文g到指定目?);<br />   System.out.println("使用此功能请按[9]  功能九:Ud文g夹到指定目录");<br />   System.out.println("使用此功能请按[10] 退出程?);<br />   <br /> while(!exitnow)<br /> {<br />    FileOperate fo=new FileOperate();<br />    try<br />    {<br />    BufferedReader Bin=new BufferedReader(new InputStreamReader(System.in));<br />    String a=Bin.readLine();<br />    int b=Integer.parseInt(a);<br />    <br />    switch(b) <br />    {<br />     case 1:System.out.println("你选择了功能一  误入目录名");  <br />        aa=Bin.readLine();<br />        fo.newFolder(aa);<br />        break;<br />     case 2:System.out.println("你选择了功能二  误入文件名");  <br />        aa=Bin.readLine();<br />        System.out.println("误入在"+aa+"中的内容");<br />        bb=Bin.readLine();<br />        fo.newFile(aa,bb);<br />        break;<br />     case 3:System.out.println("你选择了功能三  误入文件名");  <br />        aa=Bin.readLine();<br />        fo.delFile(aa);<br />        break;<br />     case 4:System.out.println("你选择了功能四  误入文件名");  <br />        aa=Bin.readLine();<br />        fo.delFolder(aa);<br />        break;<br />     case 5:System.out.println("你选择了功能五  误入文件名");  <br />        aa=Bin.readLine();<br />        fo.delAllFile(aa);<br />        break;   <br />     case 6:System.out.println("你选择了功能六  误入文件名");  <br />        aa=Bin.readLine();<br />        System.out.println("误入目标文件名"); <br />        bb=Bin.readLine();<br />        fo.copyFile(aa,bb);<br />        break;<br />     case 7:System.out.println("你选择了功能七  误入源文g?);  <br />        aa=Bin.readLine();<br />        System.out.println("误入目标文件名"); <br />        bb=Bin.readLine();<br />        fo.copyFolder(aa,bb);<br />        break;        <br />     case 8:System.out.println("你选择了功能八  误入源文g?);  <br />        aa=Bin.readLine();<br />        System.out.println("误入目标文件名"); <br />        bb=Bin.readLine();<br />        fo.moveFile(aa,bb);<br />        break;<br />       case 9:System.out.println("你选择了功能九  误入源文g?);  <br />        aa=Bin.readLine();<br />        System.out.println("误入目标文件名"); <br />        bb=Bin.readLine();<br />        fo.moveFolder(aa,bb);<br />        break;        <br />     case 10:exitnow=true;<br />         System.out.println("E序l束Q请退?);<br />        break;<br />     default:System.out.println("输入错误.误?-10之间的数");               <br />     }<br />    <br />    <br />    System.out.println("请重新选择功能");<br />    <br />    <br />    }<br />    catch(Exception e)<br />    {<br />    System.out.println("输入错误字符或程序出?);<br />    }<br />    <br /> }   <br /> } <br />}<br /><img src ="http://www.aygfsteel.com/xyy198203/aggbug/96442.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/xyy198203/" target="_blank">没有鱼的?/a> 2007-01-29 10:15 <a href="http://www.aygfsteel.com/xyy198203/articles/96442.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Applet与Servlet通讯http://www.aygfsteel.com/xyy198203/articles/87477.html没有鱼的?/dc:creator>没有鱼的?/author>Wed, 13 Dec 2006 06:27:00 GMThttp://www.aygfsteel.com/xyy198203/articles/87477.htmlhttp://www.aygfsteel.com/xyy198203/comments/87477.htmlhttp://www.aygfsteel.com/xyy198203/articles/87477.html#Feedback0http://www.aygfsteel.com/xyy198203/comments/commentRss/87477.htmlhttp://www.aygfsteel.com/xyy198203/services/trackbacks/87477.html    一、通过HTML面传递Applet参数    
 
    通过HTML面传递参数是在Servlet与Applet之间建立联系最为常用的Ҏ。Servlet只要把传递给Applet的参数写入HTML面可以了。这U通讯是单向的Q用于实现Servlet对Applet的控制。其实现ҎcdQ?   
//  doGet()Ҏ生成一个包含Applet的HTML面,    
//  该Applet需要一个Data参数    
 
public  void  doGet(HttpServletRequest  request,HttpServletResponse  response)    
throws  ServletException,  IOException  {    
response.setContentType("text/html");    
PrintWriter  out  =  new  PrintWriter  (  response.getOutputStream());    
out.write("<  HTML><  HEAD><  TITLE>  HTML  Example<  /TITLE>  <  /HEAD><  BODY>");    
out.write("Servlet通过PARAM标记传递参数给Applet.  ");    
out.write("<  APPLET  code=\"SimpleApplet\"  width=\"225\"  height=\"149\">");    
//  写入PARAM标记    
out.write("<  param  name=\"Data\"  value=\"");    
out.write(java.text.DateFormat.getDateInstance().format(new  java.util.Date()));    
out.write("\"><  /APPLET><  /BODY><  /HTML>");    
out.close();    
}    
 
    q种Ҏ很简单,但它有两个缺炏V首先,所有参数都是静态的Q即一旦HTML面发送完成,要更新其中部分数据就很困难了。虽然可以用HTTP的刷新机Ӟ但这U刷新需要重C载整个页面,效率是很低的。第二,如果需要传递给Applet的数据量很大或数据结构很复杂Q就会得HTML面q于庞大或复杂了?   
 
    二、用java.net包徏立双向通讯    
 
    W二U方法是利用java.net包提供的|络能力。以有连接流通讯方式ZQ在服务器端的操作ؓ一般ؓQ?   
 
    ? 创徏一个ServerSocket对象Q在指定端口监听客户端发来的h?   
 
    ? 在接收到h时accept()Ҏ返回一个Socket对象?   
 
    ? 用上qSocket对象创徏输入、输出流对象?   
 
    ? 通过输入、输出流与客户交互?   
 
    ? 交互完毕Q关闭输入、输出流与Socket?   
 
    ? 服务E序q行l束Q关闭ServerSocket?   
 
    实现代码代码cd:    
 
try{    
 
boolean  flag=true;    
Socket  clientSocket=null;    
 
ServerSocket  serverSocket  =  new  ServerSocket(0);    
System.out.println("Server  listen  on:  "  +serverSocket.getLocalPort());    
while(flag){    
clientSocket=serverSocket.accept();    
DataInputStream  is=new  DataInputStream(  new  bufferedInputStream(clientSocket.getInputStream()));    
PrintStream  os=new  PrintStream(  new  bufferedOutputStream(clientSocket.getOutputStream()));    
//  处理Appleth    
os.close();    
is.close();    
clientSocket.close();    
}    
serverSocket.close();    
}catch(  IOException  e){    
System.err.println("  Exception:  "+e);    
}    
 
    在客L的操作ؓQ?   
 
    ? 创徏Socket对象建立与服务器的连接?   
 
    ? 用该Socket对象创徏输入、输出流?   
 
    ? 与服务器交互?   
 
    ? 交互完毕Q关闭输入、输出流与Socket?   
 
    实现代码cd:    
try  {    
Socket  clientSocket  =new  Socket("serverName",7);    
OutputStream  os=clientSocket.getOutputStream();    
DataInputStream  is=new  DataInputStream(  clientSocket.getInputStream());    
//  其它操作.    
os.close();    
is.close();    
clientSocket.close();    
}catch(Exception  e){    
System.err.println("Exception:"+e);    
}    
 
    q种Ҏ只依赖于标准的Java|络支持Q不需要用到附加的软g包或工具Q? 因此昑־相当z和灉|Q易于实现某些特D的需要。但在另一斚wQ服务器端对q入h以及客户端对q回l果的分析工作量较大。如果服务器端要执行大量的操作,可以考虑使用RMI。   ?br />

]]>
վ֩ģ壺 ֺ| ƶ| ½| | | | ɰ| | | Ҧ| ¹| ղ| | | ²| ͷ| | | | ն| | | ɽ| | | | | | | | | | | ɽ| ݰ| | | ɽ| ϰ| | ʳ|