`
Sharpleo
  • 浏览: 564980 次
  • 性别: Icon_minigender_1
  • 来自: newsk
社区版块
存档分类
最新评论
收藏列表
标题 标签 来源
java拆分文件 文件处理
//处理字符串,把全文的全角标点转成半角
	public static String replace(String line)
	{
		HashMap map = new HashMap();
		map.put(",", ",");
		map.put("。", ".");
		map.put("〈", "<");
		map.put("〉", ">");
		map.put("‖", "|");
		map.put("《", "<");
		map.put("》", ">");
		map.put("〔", "[");
		map.put("〕", "]");
		map.put("﹖", "?");
		map.put("?", "?");
		map.put("“", "\"");
		map.put("”", "\"");
		map.put(":", ":");
		map.put("、", ",");
		map.put("(", "(");
		map.put(")", ")");
		map.put("【", "[");
		map.put("】", "]");
		map.put("—", "-");
		map.put("~", "~");
		map.put("!", "!");
		map.put("‵", "'");
		map.put("①", "1");
		map.put("②", "2");
		map.put("③", "3");
		map.put("④", "4");
		map.put("⑤", "5");
		map.put("⑥", "6");
		map.put("⑦", "7");
		map.put("⑧", "8");
		map.put("⑨", "9");

		int length = line.length();
		for (int i = 0; i < length; i++) {
			String charat = line.substring(i, i + 1);
			if (map.get(charat) != null) {
				line = line.replace(charat, (String) map.get(charat));
			}
		}

		return line;
	
		
	}



//要处理的源文件位置
		String inputFile = "D:\\全文检索\\钢铁是怎么练成的.txt";
		//处理后的文件存放位置
		String ouputDir="D:\\全文检索\\Fileresult\\";
		//判断处理后的存放位置是否存在,如时机不存在则创建一个新的文件夹		
		try {
			int index=0;
			File f = new File(inputFile);
			FileInputStream fs = new FileInputStream(f);
			//StringBuffer sb = new StringBuffer();
			String content =null;
			byte [] bytes = new byte[10240];
			while (fs.read(bytes, 0,10240)!=-1) {
				content =new String(bytes,"gbk").concat("\r\n");
				FileWriter fw = new FileWriter(String.format("%S result%s.txt",ouputDir,index));
				BufferedWriter bw = new BufferedWriter(fw);
				bw.write(optionStr.replace(content));
				bw.close();
				fw.close();
				index++;
			}
			fs.close();
			
		} catch (FileNotFoundException e) {
			// 
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
Spring 发邮件 邮件
 public void sendHtml(String usermail,String zhuti,String html) throws MessagingException
	 {
		 JavaMailSenderImpl senderImpl = new JavaMailSenderImpl(); 
		    
		    //设定mail server 
		    senderImpl.setHost("smtp.126.com"); 
		    
		    //建立邮件消息,发送简单邮件和html邮件的区别 
		    MimeMessage mailMessage = senderImpl.createMimeMessage(); 
		    MimeMessageHelper messageHelper = new MimeMessageHelper(mailMessage,true,"utf-8"); 
		             
		    //设置收件人,寄件人 
		    messageHelper.setTo(收件人); 
		    messageHelper.setFrom("发件人"); 
		    messageHelper.setSubject("主题"); 
		    //true 表示启动HTML格式的邮件 
		    messageHelper.setText(html,true); 
		    
		    senderImpl.setUsername("用户名") ; // 根据自己的情况,设置username
		    senderImpl.setPassword("密码") ; // 根据自己的情况, 设置password
		    Properties prop = new Properties() ;
		    prop.put("mail.smtp.auth", "true") ; // 将这个参数设为true,让服务器进行认证,认证用户名和密码是否正确
		    prop.put("mail.smtp.timeout", "25000") ; 
		    senderImpl.setJavaMailProperties(prop); 
		    //发送邮件 
		    senderImpl.send(mailMessage); 
		    
		    System.out.println("邮件发送成功.."); 

	 }
java 对称加密 加密解密
package org.sharpcode.other;

/*
 * DesEncrypt.java
 *
 *字符串对称加密
 */

//思路: 因为   任意一个字符串,都是由若干字节表示的,每个字节实质就是一个
//              有8位的进进制数,
//      又因为   一个8位二进制数,可用两位16进制字符串表示.
//        因此   任意一个字符串可以由两位16进制字符串表示。
//          而   DES是对8位二进制数进行加密,解密。
//        所以   用DES加密解密时,可以把加密所得的8位进进制数,转成
//               两位16进制数进行保存,传输。
//    具体方法:1 把一个字符串转成8位二进制数,用DES加密,得到8位二进制数的
//                密文
//              2 然后把(由1)所得的密文转成两位十六进制字符串
//              3 解密时,把(由2)所得的两位十六进制字符串,转换成8位二进制
//                数的密文
//              4 把子3所得的密文,用DES进行解密,得到8位二进制数形式的明文,
//                并强制转换成字符串。
// 思考:为什么要通过两位16进制数字符串保存密文呢?
//       原因是:一个字符串加密后所得的8位二进制数,通常不再时字符串了,如果
//              直接把这种密文所得的8位二进制数强制转成字符串,有许多信息因为异
//              常而丢失,导制解密失败。因制要把这个8位二制数,直接以数的形式
//              保存下来,而通常是用两位十六进制数表示。

import   java.security.Key;
import   java.security.SecureRandom;
import   javax.crypto.Cipher;
import   javax.crypto.KeyGenerator;


/**
    *
    *   使用DES加密与解密,可对byte[],String类型进行加密与解密
    *   密文可使用String,byte[]存储.
    *
    *   方法:
    *   void   getKey(String   strKey)从strKey的字条生成一个Key
    *
    *   String   getEncString(String   strMing)对strMing进行加密,返回String密文
    *   String   getDesString(String   strMi)对strMin进行解密,返回String明文
    *
    *byte[]   getEncCode(byte[]   byteS)byte[]型的加密
    *byte[]   getDesCode(byte[]   byteD)byte[]型的解密
*/

public   class   EncryptionPsw {
   Key   key;
   private EncryptionPsw()
   {}
   public static EncryptionPsw getInstance()
   {
	   EncryptionPsw des=new EncryptionPsw();
           des.getKey("sharpcode");
           return des;
   }
    /**
    *   根据参数生成KEY
    *   @param   strKey
    */

    public   void   getKey(String   strKey) {
        try{
            KeyGenerator   _generator   =   KeyGenerator.getInstance("DES");
            _generator.init(new   SecureRandom(strKey.getBytes()));
            this.key   =   _generator.generateKey();
            _generator=null;
        }catch(Exception   e){
            e.printStackTrace();
        }
    }
    /**
    *   加密String明文输入,String密文输出
    *   @param   strMing
    *   @return
    */
    public   String   getEncString(String   strMing) {
        byte[]   byteMi   =   null;
        byte[]   byteMing   =   null;
        String   strMi   =   "";
        try {
            return byte2hex(getEncCode (strMing.getBytes() ) );

//            byteMing   =   strMing.getBytes("UTF8");
//            byteMi   =   this.getEncCode(byteMing);
//            strMi   =  new String( byteMi,"UTF8");
        }
        catch(Exception   e){
            e.printStackTrace();
        }
        finally {
            byteMing   =   null;
            byteMi   =   null;
        }
        return   strMi;
    }
    /**
    *   解密   以String密文输入,String明文输出
    *   @param   strMi
    *   @return
    */
    public   String   getDesString(String   strMi)  {
        byte[]   byteMing   =   null;
        byte[]   byteMi   =   null;
        String   strMing   =   "";
        try  {
            return new String(getDesCode(hex2byte(strMi.getBytes()) ));

//            byteMing   =   this.getDesCode(byteMi);
//            strMing   =   new   String(byteMing,"UTF8");
        }
        catch(Exception   e) {
            e.printStackTrace();
        }
        finally {
            byteMing   =   null;
            byteMi   =   null;
        }
        return   strMing;
    }
    /**
    *   加密以byte[]明文输入,byte[]密文输出
    *   @param   byteS
    *   @return
    */
    private   byte[]   getEncCode(byte[]   byteS) {
        byte[]   byteFina   =   null;
        Cipher   cipher;
        try {
            cipher   =   Cipher.getInstance("DES");
            cipher.init(Cipher.ENCRYPT_MODE,   key);
            byteFina   =   cipher.doFinal(byteS);
        }
        catch(Exception   e) {
            e.printStackTrace();
        }
        finally {
            cipher   =   null;
        }
        return   byteFina;
    }
    /**
    *   解密以byte[]密文输入,以byte[]明文输出
    *   @param   byteD
    *   @return
    */
    private   byte[]   getDesCode(byte[]   byteD) {
        Cipher   cipher;
        byte[]   byteFina=null;
        try{
            cipher   =   Cipher.getInstance("DES");
            cipher.init(Cipher.DECRYPT_MODE,   key);
            byteFina   =   cipher.doFinal(byteD);
        }catch(Exception   e){
            e.printStackTrace();
        }finally{
            cipher=null;
        }
        return   byteFina;
    }
/**
* 二行制转字符串
* @param b
* @return
*/
    public static String byte2hex(byte[] b) {   //一个字节的数,
        // 转成16进制字符串
       String hs = "";
       String stmp = "";
       for (int n = 0; n < b.length; n++) {
           //整数转成十六进制表示
           stmp = (java.lang.Integer.toHexString(b[n] & 0XFF));
           if (stmp.length() == 1)
               hs = hs + "0" + stmp;
           else
               hs = hs + stmp;
       }
       return hs.toUpperCase();   //转成大写
  }

   public static byte[] hex2byte(byte[] b) {
      if((b.length%2)!=0)
         throw new IllegalArgumentException("长度不是偶数");
       byte[] b2 = new byte[b.length/2];
       for (int n = 0; n < b.length; n+=2) {
         String item = new String(b,n,2);
         // 两位一组,表示一个字节,把这样表示的16进制字符串,还原成一个进制字节
         b2[n/2] = (byte)Integer.parseInt(item,16);
       }

       return b2;
 }


    public   static   void   main(String[]   args){

        System.out.println("admin&123");
        EncryptionPsw   des=EncryptionPsw.getInstance();

        String   strEnc   =   des.getEncString("admin&123");//加密字符串,返回String的密文
        System.out.println(strEnc);

        String   strDes   =   des.getDesString(strEnc);//把String   类型的密文解密
        System.out.println(strDes);
        new EncryptionPsw();
    }

}
java 给图片加水印 图片处理
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileOutputStream;

import javax.imageio.ImageIO;

import com.sun.image.codec.jpeg.JPEGCodec;
import com.sun.image.codec.jpeg.JPEGImageEncoder;


public class CreateImgWaterMark {
	
	public static void main(String[] args) {
		new CreateImgWaterMark().pressText("www.sharpcode.org***", "C:\\a.jpg");
	}
	  /**   
     * 打印文字水印图片   
     *    
     * @param pressText 
     *            --文字   
     * @param targetImg --   
     *            目标图片   
     */   

	 public static void pressText(String pressText, String targetImg) {    
	        try {    
	            File _file = new File(targetImg);    
	            Image src = ImageIO.read(_file);    
	            int wideth = src.getWidth(null);    
	            int height = src.getHeight(null);    
	            BufferedImage image = new BufferedImage(wideth, height,    
	                    BufferedImage.TYPE_INT_RGB);    
	            System.out.println(image.getType());
	            Graphics g = image.createGraphics();    
	            g.drawImage(src, 0, 0, wideth, height, null);    
	            // String s="www.143zh.com";    
	            g.setColor(Color.RED);  
	            Font  f = new Font("微软雅黑", 20, 50);
	            g.setFont(f );    
	   
	            g.drawString(pressText, wideth/2,height-50);    
	            g.dispose();    
	            FileOutputStream out = new FileOutputStream(targetImg);    
	            JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);    
	            encoder.encode(image);    
	            out.close();  
	        } catch (Exception e) {    
	            System.out.println(e);    
	        }    
	    } 
	 
	 
	 
	  /**   
	     * 把图片印刷到图片上   
	     *    
	     * @param pressImg --   
	     *            水印文件   
	     * @param targetImg --   
	     *            目标文件   
	     * @param x   
	     * @param y   
	     */   
	    public final static void pressImage(String pressImg, String targetImg,    
	            int x, int y) {    
	        try {    
	            File _file = new File(targetImg);    
	            Image src = ImageIO.read(_file);    
	            int wideth = src.getWidth(null);    
	            int height = src.getHeight(null);    
	            BufferedImage image = new BufferedImage(wideth, height,    
	                    BufferedImage.TYPE_INT_RGB);    
	            Graphics g = image.createGraphics();    
	            g.drawImage(src, 0, 0, wideth, height, null);    
	   
	            // 水印文件    
	            File _filebiao = new File(pressImg);    
	            Image src_biao = ImageIO.read(_filebiao);    
	            int wideth_biao = src_biao.getWidth(null);    
	            int height_biao = src_biao.getHeight(null);    
	            g.drawImage(src_biao, wideth - wideth_biao - x, height    
	                    - height_biao - y, wideth_biao, height_biao, null);    
	            // /    
	            g.dispose();    
	            FileOutputStream out = new FileOutputStream(targetImg);    
	            JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);    
	            encoder.encode(image);    
	            out.close();    
	        } catch (Exception e) {    
	            e.printStackTrace();    
	        }    
	    }    

}
C#usb 识别 访问硬件
   using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.IO;
using System.Windows.Forms;
using System.Runtime.InteropServices;
//Download by http://www.codefans.net
namespace USB
{
    public partial class USB : Form
    {
        public USB()
        {
            InitializeComponent();
        }
        public const int WM_DEVICECHANGE = 0x219;
        public const int DBT_DEVICEARRIVAL = 0x8000;
        public const int DBT_CONFIGCHANGECANCELED = 0x0019;
        public const int DBT_CONFIGCHANGED = 0x0018;
        public const int DBT_CUSTOMEVENT = 0x8006;
        public const int DBT_DEVICEQUERYREMOVE = 0x8001;
        public const int DBT_DEVICEQUERYREMOVEFAILED = 0x8002;
        public const int DBT_DEVICEREMOVECOMPLETE = 0x8004;
        public const int DBT_DEVICEREMOVEPENDING = 0x8003;
        public const int DBT_DEVICETYPESPECIFIC = 0x8005;
        public const int DBT_DEVNODES_CHANGED = 0x0007;
        public const int DBT_QUERYCHANGECONFIG = 0x0017;
        public const int DBT_USERDEFINED = 0xFFFF;
        // 逻辑卷标
        public const int DBT_DEVTYP_VOLUME = 0x00000002;
       // private LockScreen Ls = new LockScreen();
        public string ID="";
        public string Value;
        public string[] item;

        [StructLayout(LayoutKind.Sequential)]
        public struct DEV_BROADCAST_VOLUME
        {
            public int dbcv_size;
            public int dbcv_devicetype;
            public int dbcv_reserved;
            public int dbcv_unitmask;
        }



        protected override void WndProc(ref Message m)
        {
            try
            {
                if (m.Msg == WM_DEVICECHANGE)
                {
                    switch (m.WParam.ToInt32())
                    {
                        case WM_DEVICECHANGE:
                            break;
                        case DBT_DEVICEARRIVAL://U盘有插入
                            this.timer1.Enabled = true;
                            DriveInfo[] s = DriveInfo.GetDrives();
                            foreach (DriveInfo DriveI in s)
                            {
                                if (DriveI.DriveType == DriveType.Removable)
                                {
                                   // Ls.Show();
                                   // this.Hide();
                                   // MessageBox.Show("sss");
                                   
                                    break;
                                }
                                int devType = Marshal.ReadInt32(m.LParam, 4);
                                if (devType == DBT_DEVTYP_VOLUME)
                                {
                                    DEV_BROADCAST_VOLUME vol;
                                    vol = (DEV_BROADCAST_VOLUME)Marshal.PtrToStructure(m.LParam, typeof(DEV_BROADCAST_VOLUME));
                                    ID=vol.dbcv_unitmask.ToString("x");
                                    this.Text = IO(ID);
                                   this.Tag = IO(ID);
                                   //if (item.Length ==0||IO(ID)!=this.Tag.ToString ())
                                   //{
                                      
                                   //}
                                }
                                this.label1.Text = this.Text;
                            }
                            break;
                        case DBT_CONFIGCHANGECANCELED:
                            break;
                        case DBT_CONFIGCHANGED:
                            break;
                        case DBT_CUSTOMEVENT:
                            break;
                        case DBT_DEVICEQUERYREMOVE:
                            break;
                        case DBT_DEVICEQUERYREMOVEFAILED:
                            break;
                        case DBT_DEVICEREMOVECOMPLETE: //U盘卸载
                            DriveInfo[] I = DriveInfo.GetDrives();
                            foreach (DriveInfo DrInfo in I)
                            {
                                int devType = Marshal.ReadInt32(m.LParam, 4);
                                if (devType == DBT_DEVTYP_VOLUME)
                                {
                                    DEV_BROADCAST_VOLUME vol;
                                    vol = (DEV_BROADCAST_VOLUME)Marshal.PtrToStructure(m.LParam, typeof(DEV_BROADCAST_VOLUME));
                                    ID = vol.dbcv_unitmask.ToString("x");
                                    this.Text = IO(ID) + "盘退出!\n";
                                   
                                   
                                }
                                this.label1.Text += this.Text;
                               // MessageBox.Show("U盘已经卸载", "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            }
                            break;
                        case DBT_DEVICEREMOVEPENDING:
                            break;
                        case DBT_DEVICETYPESPECIFIC:
                            break;
                        case DBT_DEVNODES_CHANGED:
                            break;
                        case DBT_QUERYCHANGECONFIG:
                            break;
                        case DBT_USERDEFINED:
                            break;
                        default:
                            break;
                    }
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
            base.WndProc(ref m);
        }

        private void USB_Load(object sender, EventArgs e)
        {
            
        }
        public string  IO(string ff)
                      {
                          switch (ff)
                          {
                              case "1":
                                 Value="A:";
                                 break;
                              case "2":
                                   Value= "B:";
                                   break;
                              case "4":
                                   Value= "C:";
                                   break;
                              case "8":
                                   Value= "D:";
                                   break;
                              case "10":
                                   Value= "E:";
                                   break;
                              case "20":
                                   Value= "F:";
                                   break;
                              case "40":
                                   Value= "G:";
                                   break;
                              case "80":
                                   Value= "H:";
                                   break;
                              case "100":
                                   Value= "I:";
                                   break;
                              case "200":
                                   Value= "J:";
                                   break;
                              case "400":
                                   Value= "K:";
                                   break;
                              case "800":
                                   Value= "L:";
                                   break;
                              case "1000":
                                   Value= "M:";
                                   break;
                              case "2000":
                                   Value= "N:";
                                   break;
                              case "4000":
                                   Value= "O:";
                                   break;
                              case "8000":
                                   Value= "P:";
                                   break;
                              case "10000":
                                   Value= "Q:";
                                   break;
                              case "20000":
                                   Value= "R:";
                                   break;
                              case "40000":
                                   Value= "S:";
                                   break;
                              case "80000":
                                   Value= "T:";
                                   break;
                              case "100000":
                                   Value= "U:";
                                   break;
                              case "200000":
                                   Value= "V:";
                                   break;
                              case "400000":
                                   Value= "W:";
                                   break;
                              case "800000":
                                   Value= "X:";
                                   break;
                              case "1000000":
                                   Value= "Y:";
                                   break;
                              case "2000000":
                                   Value= "Z:";
                                   break;
                              default: break;
                          }
                          return Value;
          }






        private void timer1_Tick(object sender, EventArgs e)
        {
           // this.Text = ID; 
        }

        private void USB_Load_1(object sender, EventArgs e)
        {

        }
    }
}














    

C#得到Cpu序列号 访问硬件
private void GetInfo()
          {
           string cpuInfo = "";//cpu序列号
           ManagementClass cimobject = new ManagementClass("Win32_Processor");
           ManagementObjectCollection moc = cimobject.GetInstances();
           foreach(ManagementObject mo in moc)
           {
            cpuInfo = mo.Properties["ProcessorId"].Value.ToString();
            //Response.Write ("cpu序列号:"+cpuInfo.ToString ());
           }
           MessageBox.Show("CPU序列号"+cpuInfo);
           //获取硬盘ID
           String HDid;
           StringBuilder sb = new StringBuilder();
           ManagementClass cimobject1 = new ManagementClass("Win32_DiskDrive");
           ManagementObjectCollection moc1 = cimobject1.GetInstances();
           foreach(ManagementObject mo in moc1)
           {
            HDid = (string)mo.Properties["Model"].Value;
            //Response.Write ("硬盘序列号:"+HDid.ToString ());
           }
           MessageBox.Show("硬盘序列号");

           //获取网卡硬件地址
        //9558821702001755616
           
           ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
           ManagementObjectCollection moc2 = mc.GetInstances();
           foreach(ManagementObject mo in moc2)
           {
            if((bool)mo["IPEnabled"] == true)
            // Response.Write("MAC address\t{0}"+mo["MacAddress"].ToString());
                MessageBox.Show("MAC网卡地址" + mo["MacAddress"].ToString());
            mo.Dispose();
           }
 
        }
Global site tag (gtag.js) - Google Analytics