Writer da
Su kod yazılırsa belirtilen dizinde istenilen dosyayı olusturur ve onun içine istenilen içerigi yazar Ancak klasor
açmaz ve eski verıyı aksı yapılmazsa eskı verıyı ezer.
Basit bir örnekle açıklayacak olursak.
String file="D:\\numan\\new.txt";
FileWriter fw=new FileWriter(file);
BufferedWriter bw=new BufferedWriter(fw);
bw.write("java\r\n");
bw.write("Java Enterprice \r\n");
bw.write("Java Android \r\n");
bw.close();
Şeklindedir.Ancak eski veriyi silmeden yapmak ıstersek
FileWriter fw=new FileWriter(file,true)eklenır.
exceptionlu writer versiyonu şudur.
public static void main(String[] args) throws IOException {
try{
String file="D:\\numan\\new.txt";
FileWriter fw=new FileWriter(file);
BufferedWriter bw=new BufferedWriter(fw);
bw.write("java\r\n");
bw.write("Java Enterprice \r\n");
bw.write("Java Android \r\n");
bw.close();
}catch(Exception e){
System.out.println("Yanlıs Dosya Arama");
e.printStackTrace();
}
şeklinde olmalıdır.Neden exception açıyoruz derseniz hata takibini sağlamak hatanın farklı platformlardan dönüşüm sağlayarak client tarafını bulmasını sağlar.Bunu da her dizinde exception isteyerek yapar.
25 Şubat 2013 Pazartesi
Javada Stream , Encoding, Buffer
Stream
Stream yavaş gelen akım demektir.Yavaş gelen veri demektir.Dil platformunda ise dosyaya yazma ve okuma olarak karşımıza çıkar.Stream yapısı ozellıkle yazıcılarda scannerlarda gecelıdır.Bilgisayar bilimlerinde bunun adı I/O dur Yani input output tur.Bunlar normalde byt larla çalısır.Ancak metin geldiği zaman ıse bu byt kodların karaktere cevrılmesı gerekır.Bunada encoding denir.Gene byttır ancak karakter olarak gozukur.Ornek 15 sayıdır.1 ve 5 karakterdır.
javada herşey unıcode dır.Encodıngler iso-8859-9 latin-5 dir.Java bunlarla ugrasmamak ıcın reader ve writer diye iki class olusturmustur.Türkçe makınada calısdıgında türkce olarak algılıyor herhangi başka bir dilede başka.İnput stream ve output stream byt olark
bu ıkı clası da olarak okur.
Buffer stok zula anlamına geliyor.Her okumada tekrar tekrar verı almayı engellemek ıcın kullanılır.input
ve output buffer vardır.
Javada I/O ınput output karısıkdır.java veri okumaya satır satır ızın verır.yanı kısaca once okuyayım sonrada vereyım seklınde bır ıslem yapmaya izin vermez.Bir satır oku kullanıcıya ver oku ver trafıgı seklınde
olustur demıstır.
17 Şubat 2013 Pazar
Jdbc Transaction
Javada Transaction
Javada transaction bir işlemi yapar iken veya kaydı database e atarken paralel veya bağımlı bağımlı olan ve ayrılmaması gereken yapılar için tasarlanmıştır.Kısaca bir db connection gerçekleşmeyen bağımlı bir connection dan ötürü durdurulur yada en doğrusu kontrol edilir.Tranasction terimleri 3 tanedir
1.begin : İşlemi sorguyu default olarak başlatır.
2.commit : İşlemi işletir kullanılmak üzere hafızaya alır
3.rollback : Geri sarar
Transaction da commit kullanımı örneğini aşağıdaki örnekle açıklamaya çalışalım
- public class transactionTest {
- public static void main(String[] args) throws ClassNotFoundException,
- SQLException {
- Class.forName("com.mysql.jdbc.Driver");
- Connection connection = DriverManager.getConnection(
- "jdbc:mysql://localhost:3306/my_db2", "root", "godoro");
- connection.setAutoCommit(false);
- String sql = "insert into customer(customerName,totalDebit) values(?,?)";
- PreparedStatement statement = connection.prepareStatement(sql);
- statement.setString(1, "Adnan Oktar");
- statement.setDouble(2, 7200);
- statement.executeUpdate();
- burdakı versıyonda sql ı bozdugumuz szamna hıcbırını yazmaz a
- PreparedStatement statement1 = connection.prepareStatement(sql);
- statement1.setString(1, "Ahmet Mahmut Ünlü");
- statement1.setDouble(2, 3900);
- statement1.executeUpdate();
- PreparedStatement statement2 = connection.prepareStatement(sql);
- statement2.setString(1, "Fethullah Gülen");
- statement2.setDouble(2, 7800);
- statement2.executeUpdate();
- connection.commit();
- connection.close();
- }
- Bu ornekte gördüğünüz üzere 9.satırdaki kırmızı ıle işaretli kod bloğu ile connection hafızaya yazılmış yani işletilmiş 29.satıra gelince yani işlem hatasız tamamlanıncada database e set işlemi gerçekleştirilmiştir.
Örnek
PreparedStatement statement1 = connection.prepareStatement(sql+blabla);
şeklinde hata vericek sonuclu bir kod blogu oldugunda işlemi tamamlamayıp yarım bıraktıgına şahit olabilirsiniz.
Bozulan veya hatalı bir kod bloğunun kullanımı bu şekildedir.Bu sıralı bağımlı işlemlerde tasarımcıların işine yarayabildiği gibi hata verene,okunana kadar devam edilmesi istenen kod bloklarında da kod tasarımcılarının işine yrayabilir şöyleki;
Oluşturulan her işlem bloğundan sonra connection commit edilirse hata verene kadar uygulama çalıştırılabilir.
PreparedStatement statement = connection.prepareStatement(sql);
statement.setString(1, "Adnan Oktar");
statement.setDouble(2, 7200);
statement.executeUpdate();
connection.commit();
şeklinde.
2 Şubat 2013 Cumartesi
Google Adwords Hizmeti nedir ve Hesap Lar Nasıl Oluşur
Google Dağınık bilgileri toplayıp derleyen bir arama motorudur.Kullanıcılar Google Mülkiyetleriniz ziyaret ederek aradıklarına ulaşırlar.Bir kullanıcı "Şansımı Denemek İstiyorum"u tıklarsa, kullanıcı doğrudan Google arama sonuçlarındaki ilk web sitesine veya belgeye gider.Bir firma google ın arma ağı hizmetlerinden olan fiziki arama ya para veya menfaati bir şey sunarak yer edinemez.Ancak sağ tarafda ve bazen üst te ççıkan adwords reklamlarında bunu yapabilir.
Google Bu işi profesyonel olarak yapmaktadır eşitlikci bir rekabet ortamı sağlayarak herkezin bütçesi dogrultusunda bir reklam rekabetine girmesine izin vermektedir.
GOOGLE ADWORDS HESAPLARI
Google bu işi yürütmek için bir adwords hesabı oluşturma ve bunu gerektiğinde müşteri ve müşteri yönetici hesabı olmak üzere iki kısıma ayırmıştır.müşteri hesabı şirketin veya tüzel kişinin hesabından oluşturlur ve burdan müşteri yönetici hesabına izin verilerek adwords hizmeti başkları tarafından sağlanmış olur.Müşteri hesabından gerektiğinde müşteri yönetici hesabını iptal edebilir ve bildirimleri alabilirsiniz.müşteriler gbi müşteri yöneticiside gerektiğinde hesaplar arsındaki bağlantıyı sonlandırabilir.
Not:Müşteri yöneticisi arayan firmalra google bu konuda da hizmet vermektedir
22 Ocak 2013 Salı
Javada enum nasıl kullanılır.Enum nedir.
Merhabalar
Bu yazımda java da enum nedir ve nasıl kullanılır.Ayrıca javadaki geçmişini anlatağım.
Java enum' u C deki gibi kabul etmez.Gereksiz görür.Enum un işlevini bunun için interface le halledilebileceğini
Düşünmüşlerdir.Ve java beşe gelene kadar java da enum kullanımı bu şekildedir.
Sebebi ise Enumlardaki değer ve İçeriklerin değişik olmasıdır.Örneğin Amerikada ki hafta başlangıcı pazardan
başlar.Atanan değerin 1 den pazar gününden başlatılmış olması türkiye için sorun ve problemdir.Bundan dolayı java enumu
belli bir süre kabul edilmemiştir.
Inteface li enum versiyon kullanım vbe yaratımı şu şekildedir.
intarface days{
int MONDAY=0;
int Tuesday=1;
int WEDNESDAY=2;
}
public class DaysTest {
public static void printDay(int day){
switch(day){
case 0:System.out.println("pazartesi");break;
case 1:System.out.println("Salı");break;
case 2:System.out.println("Çarşamba");break;
default : System.out.println("bilinmeyen gün");
}
}
public static void main(String[] args) {
int day=Days.TUESDAY;
printDay(day);
printDay(Days.MONDAYS);
printDay(32);
}
}
Bu kodu n console çıktısı ise şu şekildedir.
Salı
pazartesi
bilinmeyen gün
Şeklindedir.
Java 5 de gelince ise javada enum kullanımı şu şekilde dir.
Bir enum oluşturulur.:
enum Day{
MONDAY,
TUESDAY,
WEDNESDAY;
}
Bir class oluşturulur.Ve içerik şu şekildedir.Her gün için bir case yaratılarak şartlandırılmış olur.Örnek
public class DayTest2 {
public static void printDay(Day day){
switch(day){
case MONDAY:System.out.println("Pazartesi");
}
}}
21 Ocak 2013 Pazartesi
Wrapper nedir nasıl kullanılır
Javada typler vardır.
ıkı grup da type vardır
1)primitive _____int short double vesaır bu alana gırer tek sey barındırır.
2)class_______ bunlar ıcınde bırcok sey barıdnırır.Methodlar primitive tipler bu alana girer.
Sorun bır tam sayıyı class olarak kullanmak ıstedıgımız veya bu nun gıbı bırde strıngı ıntegere cevırecegı zaman
sorunları cozmek ıcın kullanılır.
wrapperen ınstance olarak kullanımı
int i=3;
Integer w=new Integer(4);
ıntegerı klasa cevırırken
kutulama denıyor(Giydirme Bezeme manasında kullanılmış) boxing
Integer wi=new Integer(i);
"wi."..... şeklinde kullanılır
klası ıntegere cevırırken
Kutusuzlama(Çıkartma soyma manasında kullanılmış) umboxing
Integer iw=wi.intValue();
wrapperın strıng olarak kullanımı
String s=Integer.toString(i);
int' ı string e cevırmek ıcın
int is=Integer.parseInt(s);
su sekılde nesne yaratımı yapılabılır ancak burda otomatık olarak java kendısı yapmaktadır.
yanı nesneyı kendısı yaratmaktadır.her durumda nesne primitive tipe eşit deldir
ılk ornekde primitive tip nesneye su soyle cevırılır
1) otomatık kutulama
Integer xw=i;
Arka planda compiler Integer wi=new Integer(i) bu işlemi gerçekleştirr
2) olark nesne primitive tipe
Otomatıc kutusuzlama
Integer xi=w;
Ancak bunlar otomatık olarak arkada java compiler
1 sı nesne newlmeyı Integer w=new Integer(4);
ıkıncısı ıse Integer iw=wi.intValue(); yi çagırır
Javada typler vardır.
ıkı grup da type vardır
1)primitive _____int short double vesaır bu alana gırer tek sey barındırır.
2)class_______ bunlar ıcınde bırcok sey barıdnırır.Methodlar primitive tipler bu alana girer.
Sorun bır tam sayıyı class olarak kullanmak ıstedıgımız veya bu nun gıbı bırde strıngı ıntegere cevırecegı zaman
sorunları cozmek ıcın kullanılır.
wrapperen ınstance olarak kullanımı
int i=3;
Integer w=new Integer(4);
ıntegerı klasa cevırırken
kutulama denıyor(Giydirme Bezeme manasında kullanılmış) boxing
Integer wi=new Integer(i);
"wi."..... şeklinde kullanılır
klası ıntegere cevırırken
Kutusuzlama(Çıkartma soyma manasında kullanılmış) umboxing
Integer iw=wi.intValue();
wrapperın strıng olarak kullanımı
String s=Integer.toString(i);
int' ı string e cevırmek ıcın
int is=Integer.parseInt(s);
su sekılde nesne yaratımı yapılabılır ancak burda otomatık olarak java kendısı yapmaktadır.
yanı nesneyı kendısı yaratmaktadır.her durumda nesne primitive tipe eşit deldir
ılk ornekde primitive tip nesneye su soyle cevırılır
1) otomatık kutulama
Integer xw=i;
Arka planda compiler Integer wi=new Integer(i) bu işlemi gerçekleştirr
2) olark nesne primitive tipe
Otomatıc kutusuzlama
Integer xi=w;
Ancak bunlar otomatık olarak arkada java compiler
1 sı nesne newlmeyı Integer w=new Integer(4);
ıkıncısı ıse Integer iw=wi.intValue(); yi çagırır
20 Ocak 2013 Pazar
Javada static kullanımı(static neden atanır)
Merhabalar.
Öncelikle static javada static kullanımının nedenlerinden bir tanesi hafızadan kar sağlamak ve performans artırmak içindir.Javada object bir field için hafızada 4 bayt yer ayrılmaktadır.Static olarak tanımlanan fieldlar ise değişmeyen her field için ortak olan değerlerde kullanılır.Her field ve methodda statc olmayan ortak static bir değişken atanabilir.Örnek verilecek olursa bir bankanın 3 milyon müşterisi vardır.Ancak o Bankanın her bir müşterisi için atanan faiz getirisi veya götürüsü aynıdır.İşte bu sekilde 3 milyon müşterinin faiz oranlarını kaydeden bellekde object field Tanımlamak yerine bir tane static tanımlanarak bu iş halledilmiş olur.Ve toplam da hafızada tutulan yer sadece 4 bayt tır.
Aynı örnek üzerinden gidilecek olursa static tanımlanan değişkenleri her object kullanabilir.Bir değişkenin değerinin değiştrilmesi ile iş yükünden de kurtulmuş olunur.Müşteri faiz oranı diye static bir değişken tanımlanır.Faiz oranı değişirse eğer ;static değer değiştirilerek iş bitirilmiş olur.
Örnek: static double faizOran=12;
şeklindedir
static değerler için Rectangle clasında x bir değer için kullanım Rectangle.x=4;şeklindedir.Kısaca bir Instance yaratmadan kullanılır.Instance ı dahada açarsak normalde
Rectangle r=new Rectangle();
r.x=3;
şeklinde olan objec field kullanımı yerine static değer atanan field kullanımı yukarıda bahsettiğimiz şekildedir.
Ancak javada uzman lar için kullanımı sağlıklıdır.
Kaydol:
Kayıtlar (Atom)