25 Haziran 2016 Cumartesi

FileLock Sınıfı

Giriş
Şu satırı dahil ederiz.
import java.nio.channels.FileLock;
FileChannel tarafından oluşturulur.

constructor
Kilidi alıncaya kadar bloke olur. Şöyle yaparız.
FileChannel fc = ...
FileLock lock = fc.tryLock();
if(lock != null){
  ...
}
Bloke olmasın istersek şöyle yaparız.
FileChannel fc = ...;
FileLock lock = null;

// Try acquiring the lock without blocking. This method returns
// null or throws an exception if the file is already locked.
try {
  lock = channel.tryLock();
} catch (OverlappingFileLockException e) {
  // File is already locked in this thread or virtual machine
}
release metodu
Şöyle yaparız.
// Release the lock - if it is not null!
if( lock != null ) {
  lock.release();
}


FileSystems Sınıfı

Giriş
Şu satırı dahil ederiz.
import java.nio.file.FileSystems;
Bu sınıf Java 7 ile geliyor.

getDefault metodu
Şöyle yaparız.
FileSystem fs = FileSystems.getDefault();
newFileSystem metodu - Uri 
Zip dosyasını okumak için şöyle yaparız.
Path zipfile = ...
URI uriOfFileInZip;
try(FileSystem fs = FileSystems.newFileSystem(zipfile, null)){
  ...
}
newFileSystem metodu - Uri + Map
Zip dosyası oluşturmak için şöyle yaparız.
Path zipFile = ...;
Map<String, String> env = new HashMap<String, String>() {{
  put("create", "true");
}};

try (FileSystem zipFs = FileSystems.newFileSystem(
  URI.create("jar:" + zipFile.toUri()), env)) {
  ...  
}

22 Haziran 2016 Çarşamba

StreamResult Sınıfı

constructor
Şöyle yaparız.
StreamResult result = new StreamResult(new StringWriter());
Şöyle yaparız.
StreamResult consoleResult = new StreamResult(System.out);
getWriter metodu
Şöyle yaparız.
StringWriter writer = result.getWriter();

TransformerFactory Sınıfı

Giriş
Bir Transformer nesnesi oluşturmak için kullanılır.

getInstance metodu
Şöyle yaparız.
TransformerFactory transformerFactory = TransformerFactory.newInstance();
newTransformer metodu
Şöyle yaparız.
Transformer transformer = transformerFactory.newTransformer();

URI Sınıfı

toUrl metodu
Şöyle yaparız.
URI uriOfFileInZip = ...;
InputStream is = uriOfFileInZip.toURL().openStream();

21 Haziran 2016 Salı

JAX-WS Service Sınıfı

Giriş
Şu satırı dahil ederiz.
import javax.xml.ws.Service;
constructor
Şöyle yaparız.
URL wsdlUrl = new URL("http://localhost:8888/webservice/helloworld?wsdl");
//qualifier name ...
QName qname = new QName("http://ws.enterprise.javacodegeeks.com/", 
                         "WebServiceImplService");
Service service = Service.create(wsdlUrl, qname);
getPort metodu
Şöyle yaparız.
WebServiceInterface sayHello = service.getPort(WebServiceInterface.class);



20 Haziran 2016 Pazartesi

wsimport komutu

Giriş
wsimport aracının .Net dünyasında karşılığı svcutil aracıdır. Şuna benzer bir dizinde bulunur.
C:\Program Files\Java\jdk1.8.0_25\bin>wsimport.exe
-e seçeneği
Şöyle yaparız.
wsimport.exe -s e:\temp\javaws 
 http://localhost:8733/Design_Time_Addresses/BillingService/?wsdl
-keep seçeneği
Bu seçenek ile hem .class hem de .java dosyalarını üretiriz.
wsimport -keep http://example.com/webservice?wsdl

19 Haziran 2016 Pazar

InputStreamReader Sınıfı

Giriş
Şu satırı dahil ederiz.
import java.io.InputStreamReader;
constructor - Stream
Şöyle yaparız.
InputStreamReader reader = new InputStreamReader(System.in)
constructor - Stream + Encoding
Şöyle yaparız.
InputStream is = ...;
InputStreamReader reader = new InputStreamReader(is, "UTF-8"));         


18 Haziran 2016 Cumartesi

InternetAddress Sınıfı

Giriş
Şu satırı dahil ederiz.
import javax.mail.internet.InternetAddress;
constructor
Şöyle yaparız.
InternetAddress to = new InternetAddress("abc@mydomain.com")
parse metodu
Şöyle yaparız.
InternetAddress to = InternetAddress.parse("---------@mydomain.com")


15 Haziran 2016 Çarşamba

PublicKey Arayüzü

PublicKey Arayüzü
Şu arayüzler kalıtır.

DHPublicKey, DSAPublicKey, ECPublicKey, RSAPublicKey

RSAPublicKey Arayüzü
Şu satırı dahil ederiz.
import java.security.interfaces.RSAPublicKey;
Constructor
Şöyle yaparız. Algoritma olarak RSA kullanılıyor. Ayrıca keyFactory'nin ürettiği nesne arayüz olarak kullanılıyor.
KeyFactory keyFactory = KeyFactory.getInstance("RSA");
RSAPublicKeySpec rsaPublicSpec = new RSAPublicKeySpec(modulus, exponent);
PublicKey publicKey = keyFactory.generatePublic(rsaPublicSpec);
Şöyle de yapabiliriz. Algoritma olarak RSA, provider olarak BC kullanılıyor. Ayrıca keyFactory'nin ürettiği nesne RSAPublicKey olarak kullanılıyor.
KeyFactory keyFactory = KeyFactory.getInstance("RSA", "BC");
RSAPublicKeySpec pubKeySpec = new RSAPublicKeySpec(new BigInteger(
        "12345678", 16), new BigInteger("11", 16));

RSAPublicKey pubKey = (RSAPublicKey) keyFactory.generatePublic(pubKeySpec);
getModulus metodu
Formül şöyle. Modulus olarak 2048 bit kullanılıyor.
n=2048 bits;
;
Key uzunluğunu almak için şöyle yaparız.
RSAPublicKey publicKey = yourRequest.getPublicKey();
int keySize= publicKey.getModulus().bitLength();
DSAPublicKey Arayüzü
Örnek ver




13 Haziran 2016 Pazartesi

ArrayBlockingQueue Sınıfı

Giriş
BlockingQueue arayüzünden kalıtır.

constructor
Şöyle yaparız.
ArrayBlockingQueue<String> q = new ArrayBlockingQueue<>(100);
add metodu
Şöyle yaparız.
messages.add("some message");
take metodu
Şöyle yaparız.
String message = messages.take();// blocks until a message is avaiable


OutputStreamWriter Sınıfı

Giriş
Şu satırı dahil ederiz.
import java.io.OutputStreamWriter;


Buffer Sınıfı

Giriş
Şu satırı dahil ederiz.
import java.nio.Buffer;

Java 8 DateTime API

Saat Dilimi - Time Zone - Kullanmayan Sınıflar
LocalDate, LocalTime, LocalDateTime, MonthDay,YearMonth,Year,Month,DayOfWeek sınıflar saat dilimi bilmezler.

Instant sınıfı
Instant Sınıfı yazısına taşıdım.

LocalDate
LocalDate Sınıfı yazısına taşıdım.

LocalTime
LocalTime Sınıfı yazısına taşıdım.

LocalDateTime
LocalDateTime Sınıfı yazısına taşıdım.

YearMonth
YearMonth Sınıfı yazısına taşıdım.

ZonedDateTime
ZonedDateTime Sınıfı yazısına taşıdım.

Temporal Adjustment Sınıfları
TemporalAdjustors Sınıfı yazısına taşıdım.

Süre Tutan Sınıflar
Duration ve Period  süre tutarlar.

Duration
Duration Sınıfı yazısına taşıdım.

Period
Period Sınıfı yazısına taşıdım.

Formatlama Sınıfları
Bunlar DateTimeFormatter,DateTimeFormatterBuilder sınıfları.

DateTimeFormatter Sınıfı
DateTimeFormatter Sınıfı yazısına taşıdım.