azizkhani.net

I know that I know nothing

روش کار با عکس(خواندن و نوشتن) در جاوا

clock August 19, 2012 23:31 by author Administrator

 

برای انجام این کار باید از پکیج

javax.imageio.ImageIO

استفاده کرد در این حالت
    برای خواندن از تکه کد زیر

 

 BufferedImage originalImage = ImageIO.read(new File("c:\\image\\mypic.jpg"));

برای ذخیره عکس از تکه کد زیر

 ImageIO.write(originalImage, "jpg", new File("c:\\image\\mypic_new.jpg"));

 

 

 حال این کد را نگاه کنید

 
import java.awt.image.BufferedImage; 
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;  
public
class ImageTest {  

public static void main(String[] args) {  
try
{  

BufferedImage originalImage = ImageIO.read(new File( "c:\\image\\mypic.jpg"));  
 
ImageIO.write(originalImage, "jpg", new File( "c:\\image\\mypic_new.jpg"));  

}
catch
(IOException e) {
 
System.out.println(e.getMessage());

}  
}  
}



در آینده روشهای پیشرفته تر کار کردن با عکس را توضیح میدم



Martin fowler Nosql Book

clock August 18, 2012 20:44 by author Administrator

کتاب جدید مارتین فاولر در زمینه

 

 

NoSQL



google precondition validation

clock August 17, 2012 13:49 by author Administrator

حتما تاحالا پیش اومده که بخواهید مقدار ارسال شده به یک متد را ارزیابی کنید تا به خطاهای متداول


NullPointer


IndexOutOfBound


و از این قبیل بر نخورید به نظرتون روش های انجام این کار در حالت ساده در یک متد چیه؟

Before:

public Delivery createDelivery(Order order,User deliveryPerson){
   if(order.getAddress()==null){
     throw new NullPointerException("order address");
   }
   if(!workSchedule.isOnDuty(deliveryPerson, order.getArrivalTime())){
     throw new IllegalArgumentException(
         String.format("%s is not on duty for %s", deliveryPerson, order));
   }

   return new RealDelivery(order, deliveryPerson);
 }

ولی راه حل ساده تری هم است تا این رفتارها را در یک سری متدهای استاتیک بگذاریم و اون متد را صدا بزنیم ولی برای اینکار شرکت گوگل یک راه در قالب


precondition


ارایه کرده البیته در قالب


Google's Core Libraries for Java


حالا راه حل قبلی را با کد زیر مقایسه کنید
 

 

After:

publicDelivery createDelivery(Order order,User deliveryPerson){
   Preconditions.checkNotNull(order.getAddress(),"order address");
   Preconditions.checkArgument(workSchedule.isOnDuty(deliveryPerson, order.getArrivalTime()), "%s is not on duty for %s", deliveryPerson, order);

   return new RealDelivery(order, deliveryPerson);
 }

Method Summary
static void checkArgument(boolean expression)
          Ensures the truth of an expression involving one or more parameters to the calling method.
static void checkArgument(boolean expression, Object errorMessage)
          Ensures the truth of an expression involving one or more parameters to the calling method.
static void checkArgument(boolean expression, String errorMessageTemplate, Object... errorMessageArgs)
          Ensures the truth of an expression involving one or more parameters to the calling method.
static int checkElementIndex(int index, int size)
          Ensures that index specifies a valid element in an array, list or string of size size.
static int checkElementIndex(int index, int size, String desc)
          Ensures that index specifies a valid element in an array, list or string of size size.
static
<T> T
checkNotNull(T reference)
          Ensures that an object reference passed as a parameter to the calling method is not null.
static
<T> T
checkNotNull(T reference, Object errorMessage)
          Ensures that an object reference passed as a parameter to the calling method is not null.
static
<T> T
checkNotNull(T reference, String errorMessageTemplate, Object... errorMessageArgs)
          Ensures that an object reference passed as a parameter to the calling method is not null.
static int checkPositionIndex(int index, int size)
          Ensures that index specifies a valid position in an array, list or string of size size.
static int checkPositionIndex(int index, int size, String desc)
          Ensures that index specifies a valid position in an array, list or string of size size.
static void checkPositionIndexes(int start, int end, int size)
          Ensures that start and end specify a valid positions in an array, list or string of size size, and are in order.
static void checkState(boolean expression)
          Ensures the truth of an expression involving the state of the calling instance, but not involving any parameters to the calling method.
static void checkState(boolean expression, Object errorMessage)
          Ensures the truth of an expression involving the state of the calling instance, but not involving any parameters to the calling method.
static void checkState(boolean expression, String errorMessageTemplate, Object... errorMessageArgs)
          Ensures the truth of an expression involving the state of the calling instance, but not involving any parameters to the calling method.

 



Serializer and Deserializer (2)

clock August 16, 2012 22:49 by author Administrator

تا به حال به این دو کلمه در زبان جاوا برخوردید و کاربرد آن را میدانید

گاهی اوقات بیش میباد که احتیاج به ذخیره یک شی به صورت فایل است تا بعدا همون شی را بتون بازیابی کرد

مثال زیر این امر را تفهیم میکنه

Deserializer.java

 

This class will read a serialized file “c:\\address.ser” – created in this example, and convert it back to “Address” object and print out the saved value.

 

package com.j2eelist.io;
 
import java.io.FileInputStream;
import java.io.ObjectInputStream;
import java.io.Serializable;
 
public class Deserializer{
 
   public static void main (String args[]) {
 
	   Deserializer deserializer = new Deserializer();
	   Address address = deserializer.deserialzeAddress();
	   System.out.println(address);
   }
 
   public Address deserialzeAddress(){
 
	   Address address;
 
	   try{
 
		   FileInputStream fin = new FileInputStream("c:\\address.ser");
 ObjectInputStream ois = new ObjectInputStream(fin);
		   address = (Address) ois.readObject();
		   ois.close();
 
		   return address;
 
	   }catch(Exception ex){
		   ex.printStackTrace();
		   return null;
	   } 
   } 
}

 



Serializer and Deserializer (1)

clock August 16, 2012 22:41 by author Administrator

تا به حال به این دو کلمه در زبان جاوا برخوردید و کاربرد آن را میدانید

گاهی اوقات بیش میباد که احتیاج به ذخیره یک شی به صورت فایل است تا بعدا همون شی را بتون بازیابی کرد

مثال زیر این امر را تفهیم میکنه

How to write an Object to file in Java

1. Address.java

Create an “Address” object and implement Serializable interface. This object is going to write into a file.

package com.j2eelist.io;
 
import java.io.Serializable;
 
public class Address implements Serializable{
 
	   String street;
	   String country;
 
	   public void setStreet(String street){
		   this.street = street;
	   }
 
	   public void setCountry(String country){
		   this.country = country;
	   }
 
	   public String getStreet(){
		   return this.street;
	   }
 
	   public String getCountry(){
		   return this.country;
	   }
 
	   @Override
	   public String toString() {
    	   return new StringBuffer(" Street : ")
    	   .append(this.street)
    	   .append(" Country : ")
    	   .append(this.country).toString();
	   }
 
}

2. Serializer.java

This class will write the “Address” object and it’s variable value (“wall street”, “united state”) into a file named “address.ser”, locate in c drive.

package com.j2eelist.io;
 
import java.io.FileOutputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
 
public class Serializer {
 
   public static void main (String args[]) {
 
	   Serializer serializer = new Serializer();
	   serializer.serializeAddress("wall street", "united state");
   }
 
   public void serializeAddress(String street, String country){
 
	   Address address = new Address();
	   address.setStreet(street);
	   address.setCountry(country);
 
	   try{
 
		FileOutputStream fout = new FileOutputStream("c:\\address.ser");
  ObjectOutputStream oos = new ObjectOutputStream(fout);  
		oos.writeObject(address);
		oos.close();
		System.out.println("Done");
 
	   }catch(Exception ex){
		   ex.printStackTrace();
	   }
   }
}
 


اجرای یک فایل در ویندوز در جاوا

clock August 16, 2012 22:20 by author Administrator
در سیستم عامل ویندوز


import java.io.File;   //Windows solution to view a PDF file public class WindowsPlatformAppPDF {   public static void main(String[] args) {   try {   if ((new File("c:\\Java-Interview.pdf")).exists()) {   Process p = Runtime .getRuntime() .exec("rundll32 url.dll,FileProtocolHandler c:\\Java-Interview.pdf"); p.waitFor();   } else {   System.out.println("File is not exists");   }   System.out.println("Done");   } catch (Exception ex) { ex.printStackTrace(); }   } }

درتمامی سیسنم عاملها
package org.j2eelist.general.runFile;
 
import java.awt.Desktop;
import java.io.File;
 
//Cross platform solution to view a PDF file
public class AnyPlatformAppPDF {
 
	public static void main(String[] args) {
 
	  try {
 
		File pdfFile = new File("c:\\Java-Interview.pdf");
		if (pdfFile.exists()) {
 
			if (Desktop.isDesktopSupported()) {
				Desktop.getDesktop().open(pdfFile);
			} else {
				System.out.println("Awt Desktop is not supported!");
			}
 
		} else {
			System.out.println("File is not exists!");
		}
 
		System.out.println("Done");
 
	  } catch (Exception ex) {
		ex.printStackTrace();
	  }
 
	}
}
 


الگوریتم رمز نگاری در جاوا MD5,SHA-256

clock August 16, 2012 21:36 by author Administrator

 

این الگوریتم رمزنگاری در سال ۱۹۹۴ توسط رونالد ویست معرفی شده در زیر یک مثال از این الگوریتم رمزنگاری در زبان جاوا برای استفاده معرفی میشود

 

 

It will use MD5 hashing algorithm to generate a hash value for a password “123456″.

package com.j2eelist.security;
 
import java.security.MessageDigest;
 
public class MD5HashingExample 
{
    public static void main(String[] args)throws Exception
    {
    	String password = "123456";
 
        MessageDigest md = MessageDigest.getInstance("MD5");
        md.update(password.getBytes());
 
        byte byteData[] = md.digest();
 
        //convert the byte to hex format method 1
        StringBuffer sb = new StringBuffer();
        for (int i = 0; i < byteData.length; i++) {
         sb.append(Integer.toString((byteData[i] & 0xff) + 0x100, 16).substring(1));
        }
 
        System.out.println("Digest(in hex format):: " + sb.toString());
 
        //convert the byte to hex format method 2
        StringBuffer hexString = new StringBuffer();
    	for (int i=0;i<byteData.length;i++) {
    		String hex=Integer.toHexString(0xff & byteData[i]);
   	     	if(hex.length()==1) hexString.append('0');
   	     	hexString.append(hex);
    	}
    	System.out.println("Digest(in hex format):: " + hexString.toString());
    }
}
Output
Digest(in hex format):: e10adc3949ba59abbe56e057f20f883e
Digest(in hex format):: e10adc3949ba59abbe56e057f20f883e

import java.security.MessageDigest;   public class SHAHashingExample { public static void main(String[] args)throws Exception { String password = "123456";   MessageDigest md = MessageDigest.getInstance("SHA-256"); md.update(password.getBytes());   byte byteData[] = md.digest();   //convert the byte to hex format method 1 StringBuffer sb = new StringBuffer(); for (int i = 0; i < byteData.length; i++) { sb.append(Integer.toString((byteData[i] & 0xff) + 0x100, 16).substring(1)); }   System.out.println("Hex format : " + sb.toString());   //convert the byte to hex format method 2 StringBuffer hexString = new StringBuffer(); for (int i=0;i<byteData.length;i++) { String hex=Integer.toHexString(0xff & byteData[i]); if(hex.length()==1) hexString.append('0'); hexString.append(hex); } System.out.println("Hex format : " + hexString.toString()); } }

Reference

1. http://en.wikipedia.org/wiki/MD5
2. http://forums.sun.com/thread.jspa?threadID=5169003

Md5.java (625.00 bytes)

SHA256.java (633.00 bytes)



What is the different between Set and List

clock August 16, 2012 21:24 by author Administrator

Set and List explanation

  • Set – اطلاعات به صورت مرتب نشده ولی بدون تکرار نگهداری میشود
  • List – اطلاعات به صورت مرتب شده ولی با اجازه تکراری بودن.

 

 

Set and List Example

import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
 
public class SetAndListExample 
{
    public static void main( String[] args )
    {
    	System.out.println("List example .....");
    	List<String> list = new ArrayList<String>();
        list.add("1");
        list.add("2");
        list.add("3");
        list.add("4");
        list.add("1");
 
        for (String temp : list){
        	System.out.println(temp);
        }
 
        System.out.println("Set example .....");
        Set<String> set = new HashSet<String>();
        set.add("1");
        set.add("2");
        set.add("3");
        set.add("4");
        set.add("1");
        set.add("2");
        set.add("5");
 
        for (String temp : set){
        	System.out.println(temp);
        }        
    }
}

 


Output

List example .....
1
2
3
4
1
Set example .....
3
2
10
5
4

In Set, the stored values are in unordered way, and the duplicated value will just ignored.

 
 


links

clock August 11, 2012 21:00 by author Administrator

http://www.javacodegeeks.com/2012/07/common-sense-and-code-quality.html

 

http://www.javacodegeeks.com/2012/08/10-object-oriented-design-principles.html



new post

clock August 9, 2012 22:01 by author Administrator

www.tommyalf.com/2010/12/java-collection-sort-list.html

http://www.javacodegeeks.com/2012/08/spring-security-3-ajax-login-accessing.html

http://martinfowler.com/articles/lmax.html

http://www.javacodegeeks.com/2012/08/client-reviews-from-waterfall-to-agile.html

http://www.javacodegeeks.com/2012/08/five-step-illustrated-guide-to-setup.html

http://www.javacodegeeks.com/2012/03/agile-lifecycles-for-geographically.html



About the author

 Welcome to this web site . This page has two purposes: Sharing information about my professional life such as articles, presentations, etc.
This website is also a place where I would like to share content I enjoy with the rest of the world. Feel free to take a look around, read my blog


Java,J2EE,Spring Framework,JQuery,

Hibernate,NoSql,Cloud,SOA,Rest WebService and Web Stack tech...

RecentPosts

Month List

Sign In