文件流转换成字节数组代码(转)

Posted by & filed under Uncategorized.

ByteArrayOutputStream baos = new ByteArrayOutputStream(); byte[] b = new byte[1024]; int i = 0; InputStream is = new FileInputStream(upload); while((i = is.read(b)) != -1){ baos.write(b, 0, i); } byte[] b1 = baos.toByteArray();

Spring解析配置文件模拟——jdom解析xml文件

Posted by & filed under Uncategorized.

a . Xml代码(将要解析的xml文件) <?xml version=”1.0″ encoding=”UTF-8″?> <HD> <disk name=”A”> <capacity>100G</capacity> <directories>250</directories> <files>1500</files> </disk> <disk name=”B”> <capacity>200G</capacity> <directories>500</directories> <files>3000</files> </disk> </HD>   b. Java代码(解析xml的Java代码) import java.io.IOException; import java.util.*; import org.jdom2.Document; import org.jdom2.Element; import org.jdom2.JDOMException; import org.jdom2.input.*; public class JdomTest { public static void main(String[] args) throws Exception, IOException{ SAXBuilder sb = new SAXBuilder(); Document doc = sb.build(JdomTest.class.getClassLoader().getResourceAsStream(“test.xml”)); Element Read more […]

Java获取月份第一天和最后一天日期

Posted by & filed under Uncategorized.

package test; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; import java.util.HashMap; import java.util.Map; public class Test { /** * @param args * @throws ParseException */ public static void main(String[] args) throws ParseException { SimpleDateFormat df = new SimpleDateFormat(“yyyy-MM-dd”); String str = “2012-05-02”; Date date = df.parse(str); Map<String, String> map = getFirstday_Lastday_Month(date); System.out.println(“当月第一天:” + getFirstDay()); System.out.println(“当月最后一天:” + getLastDay()); System.out.println(“一个月前第一天:” + map.get(“first”)); System.out.println(“一个月前最后一天:” + map.get(“last”)); } /** * Read more […]

java 实现快速排序(转)

Posted by & filed under Uncategorized.

基本思想: 设要排序的数组是A[0]……A[N-1],首先任意选取一个数据(通常选用第一个元素)作为基准点,然后将所有比它小的数都放到它前面,所有比它大的数都放到它后面,这个过程称为一趟快速排序,然后采用分治策略,分别以同样的方式排序前面和后面的数据。值得注意的是,快速排序不是一种稳定的排序算法,也就是说,多个相同的值的相对位置也许会在算法结束时产生变动。 一趟快速排序的算法是: 1)设置两个变量i、j,排序开始的时候:i=0,j=N-1; 2)以第一个数组元素作为基准点。 3)从j开始向前搜索,即由后开始向前搜索(j–),找到第一个小于A[i](此时基准点)的值A[j],将值与A[j]交换; 4)从i开始向后搜索,即由前开始向后搜索(i++),找到第一个大于A[j](此时基准点)的A[i],将A[j]与A[i]交换; 5)重复第3步 6)重复第3、4、5步,直到i=j; Read more […]

jsp的转码方式

Posted by & filed under Uncategorized.

第一种 (1): 在调用getParameter方式之前,调用setCharacterEncoding(“utf-8”),设置jsp的request的解码方式,但是这一种只对post方式有效,由get方式提交的情形,这种方式无效。 (2): 在调用getParameter方法之后,在进行字符编码转换: str = new String(str.getBytes(“ISO-8859-1″),”utf-8”);//str为getParameter方法获取的字符串   第二种(对post,get 方法提交都有用) response.setContentType(“text/html,charset=utf-8”); 这就是告诉浏览器,返回的是html文档,并且请用utf-8进行解码,而jsp这边的输出,即PrintWriter.println()也会根据setContentType指定的字符集对中文进行编码,过程和接受刚好相反,因此,相比于jsp的接受中文,jsp的发送中文相对简单,只要通过setContentType设置的字符集能对中文正确编码,就不会出现乱码。   Read more […]

JAVA读取文件夹大小的几种方式 单线程递归方式(转载)

Posted by & filed under Uncategorized.

直接插入排序(转载)

Posted by & filed under Uncategorized.

插入排序原理:(适用于少量数据的排序,时间复杂度为O(n^2),是稳定的排序方法。) 将数组分成有序区和无序区两个区,对于无序区元素,通过与有序区元素对比、前移,找到相应位置并插入。 因而在对比、前移的扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。   void InsertSort(int[] a) { int length = a.length; int i, j;// 分别为有序区和无序区指针 int temp;   for (i = 0; i < length – 1; i++) {// 逐步扩大有序 temp = a[i+1];// 待插入的元素 j = i + 1; while(j > 0 && a[j – 1] > temp) {// 查找、移动 a[j] = a[j – 1]; j–; } a[j] = temp; // 插入 } }

js导出Excel文档

Posted by & filed under Uncategorized.

<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN” “http://www.w3.org/TR/html4/loose.dtd”> <html> <head> <title> New Document </title> <meta name=”Generator” content=”EditPlus”> <meta name=”Author” content=””> <meta name=”Keywords” content=””> <meta name=”Description” content=””> <script type=”text/javascript”> function ExcelTo(){ try{ var curTbl = document.getElementById(“student”); var oXL = new ActiveXObject(“Excel.Application”); //创建AX对象excel var oWB = oXL.Workbooks.Add(); //获取workbook 对象 var oSheet = oWB.ActiveSheet; //激活当前sheet var Lenr = curTbl.rows.length; //取得表格行数 for(var i=0;i<Lenr;i++){ var Lenc = curTbl.rows(i).cells.length; //取得每行的列数 for(var Read more […]

字符串分割

Posted by & filed under Uncategorized.

能把每一个字符串分割成正整数一个,英文字母一个 String source = “aa22branch”; String reg = “(\\d+|[a-zA-Z]+|[\\u4e00-\\u9fa5]+)”; Matcher m = Pattern.compile(reg).matcher(source);//这行分解 //Pattern pattern = Pattern.compile(reg); //Matcher matcher = pattern.matcher(source);  while (m.find()) {     String value = m.group();     System.out.println(value); } Read more […]

斐波那契數列—突然看到三年级的奥数题

Posted by & filed under Uncategorized.

费波那西数列是以递归的方法来定义:   列子: package cn.com.flywater.FiftyAlgorthm; public class FirstRabbit { public static final int MONTH = 15; public static void main(String[] args) { long f1 = 1L, f2 = 1L; long f; for(int i=3; i<MONTH; i++) { f = f2; f2 = f1 + f2; f1 = f; System.out.print(“第” + i +”个月的兔子对数: “); System.out.println(” ” + f2); } } } 就是这个月的兔子数是上两个月兔子数之和的意思 Read more […]