Jul 21
Aşağıdaki kodu kullanarak kolayca bilgisayarınızın ekran görüntüsünü alabilirsiniz.
import javax.imageio.ImageIO;
import java.io.File;
import java.io.IOException;
import java.awt.*;
import java.awt.image.BufferedImage;
/**
* Javaci.Net
*
* @user: ekocaman
*/
public class ScreenShot {
public static void main(String[] args) {
try {
// ekran boyutlarını alalım
Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
int width = (int)d.getWidth();
int height = (int)d.getHeight();
Rectangle rect = new Rectangle(width, height);
Robot robot = new Robot();
// ekran görüntüsünü alalım
BufferedImage bi = robot.createScreenCapture(rect);
// bu görüntüyü Jpg olarak kayıt edelim
ImageIO.write(bi, "jpg", new File("/home/ekocaman/screenshot.jpg"));
} catch (AWTException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
yazan ekocaman
\\ tags: ekran, görüntüsü, image, screenshot
Jun 11
Java’da yazdığımız bazı Desktop Application’larda web sayfası açma ihtiyacı duyarız. Bunu aşağıdaki kod ile kolayca yapabiliriz.
String url = "http://www.javaci.net";
Runtime rt = Runtime.getRuntime();
String[] browsers = { "explorer", "epiphany",
"firefox", "mozilla", "konqueror",
"netscape", "opera", "links", "lynx" };
for (int i = 0; i < browsers.length; i++) {
try {
// linux ve unix için
rt.exec(new String[] { "sh", "-c", browsers[i]+" \""+url+"\"" });
// windows için
rt.exec(new String[] { browsers[i], url });
// Yukarıdaki kodlardan sadece biri kullanılmalıdır
} catch (Exception e) {}
}
yazan ekocaman
\\ tags: browser, Kod
Jun 02
import java.util.Date;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
/**
* Javaci.Net
*
* @user: ekocaman
*/
public class DateFormatOrnegi {
public static void main(String[] args) {
// Şimdiki zamanı tutan Date objesi oluşturalım
Date now = new Date();
// Bunu ekrana bastıralım
System.out.println(" 1. " + now.toString());
// Şimdi DateFormat sınıfını kullanarak ekrana bastıralım
System.out.println(" 2. " + DateFormat.getInstance().format(now));
// Default time ve date-time DateFormat sınıflarını kullanalım
System.out.println(" 3. " + DateFormat.getTimeInstance().format(now));
System.out.println(" 4. " + DateFormat.getDateTimeInstance()
.format(now));
// DateFormat sınıfının kısa biçimi
System.out.println(" 5. " + DateFormat.getTimeInstance(
DateFormat.SHORT).format(now));
// DateFormat sınıfının orta biçimi
System.out.println(" 6. " + DateFormat.getTimeInstance(
DateFormat.MEDIUM).format(now));
// DateFormat sınıfının uzun biçimi
System.out.println(" 7. " + DateFormat.getTimeInstance(
DateFormat.LONG).format(now));
// Eğer aynı zamanda saat birimini de görmek istiyorsak
// DateTime kullanmamız gerekecek
System.out.println(" 8. " + DateFormat.getDateTimeInstance(
DateFormat.SHORT, DateFormat.SHORT).format(now));
System.out.println(" 9. " + DateFormat.getDateTimeInstance(
DateFormat.MEDIUM, DateFormat.SHORT).format(now));
System.out.println("10. " + DateFormat.getDateTimeInstance(
DateFormat.LONG, DateFormat.LONG).format(now));
// Ayrıca SimpleDateFormat sınıfını kullanarak kendi
// formatınızı oluşturabilirsiniz
SimpleDateFormat df = (SimpleDateFormat)DateFormat.getDateInstance();
df.applyPattern("dd.MM.yy");
System.out.println("11. " + df.format(now));
/**
* Çıktısı aşağıdaki gibi olacaktır
*
1. Mon Jun 02 00:38:38 EEST 2008
2. 6/2/08 12:38 AM
3. 12:38:38 AM
4. Jun 2, 2008 12:38:38 AM
5. 12:38 AM
6. 12:38:38 AM
7. 12:38:38 AM EEST
8. 6/2/08 12:38 AM
9. Jun 2, 2008 12:38 AM
10. June 2, 2008 12:38:38 AM EEST
11. 02.06.08
*/
}
}
yazan ekocaman
\\ tags: DateFormat, Kod, SimpleDateFormat, tarih
Apr 22
Javax.servlet paketi içerisinde bulunan RequestDispatcher kullanarak bir sayfayı başka bir sayfaya yönlendirebiliriz. Bu yazacağımız örnekte iş ve görüntü kısmını servlet ve jsp kullanarak nasıl ayrı şekil yapabileceğimizi göreceğiz.
Servlet içerisinde iş tarafı yapılacak, bunlar database işlemleri veya business logic olabilir. Jsp tarafında ise sadece servlet tarafından gönderilen obje sayesinde görüntüleme işlemi yapılacak.\r\nRequestDispatcher sınıfının forward methodunu kullanacağız.
void forward(ServletRequest request, ServletResponse response);
Servlet kodumuz
public class MyServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { }
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String a = request.getParameter("a");
String b = request.getParameter("b");
int firstNumber = Integer.parseInt(a);
int secondNumber = Integer.parseInt(b);
request.setAttribute("sonuc", firstNumber*secondNumber);
RequestDispatcher dispatcher ;
dispatcher = getServletContext().getRequestDispatcher("sonuc.jsp");
dispatcher.forward(request, response);
}
}
Bu servletimizde bize parametre olarak gönderilen iki değişken çarpılarak sonuc.jsp sayfasına yönlendiriliyor. Burada önemli olan iki sayının çarpımının request objesinin setAttribute methodunu kullanarak diğer sayfaya iletmemiz.
Jsp kodumuz
<%@ page contentType="text/html; charset=UTF-8" language="java" %>
<%
int sonuc= (Integer)request.getAttribute("sonuc");
%>
Sonuç = <%=sonuc%>
Böylece Servlet tarafında yaptığımız işlemi Jsp tarafında kullanıcıya göstermiş olduk.
yazan ekocaman
\\ tags: servlet
Apr 22
Java ile var olan bir dosyayı silmek istediğinizde
boolean success = (new File(”dosyaismi”)).delete();
if (!success)
// Dosya silindi
}else {
// Dosya silinemedi
}
yazan ekocaman
\\ tags: dosya, silmek
Apr 22
Bir dosyayı bir yerden başka bir yere koplayamak istediğimizde
InputStream in = new FileInputStream(src);
OutputStream out = new FileOutputStream(dst);
byte[] buf = new byte[1024];
int len;
while ((len = in.read(buf)) > 0) {
out.write(buf, 0, len);
}
in.close();
out.close();
yazan ekocaman
\\ tags: dosya, kopyalama
Nov 16
Elinizde bir DOM obje var. Bunu herhangi bi XML dosyasında okuyup birazda değişiklik yapıp yeni bir XML dosyası oluşturmak istiyorsunuz. Peki bu DOM objesini XML dosyasına nasıl yazabiliriz. Aşağıdaki kod ile bunu kolayca yapabiliriz.
Node node = ... // elimizde dosyadan okuduğumuz root node
TransformerFactory tFactory = TransformerFactory.newInstance();
Transformer transformer = tFactory.newTransformer();
DOMSource source = new DOMSource(node);
File file = new File("yeni.xml");
StreamResult result = new StreamResult(file);
transformer.transform(source, result);
yazan ekocaman
\\ tags: DOM, xml
Nov 08
Java’da dosya üzerinde bir işlem yaparken dosyayı kilitlemek istiyorsanız aşağıdaki kodu kullanabilirsiniz.
Kodu çalıştırdığınız zaman java.io.IOException atacaktır. Java kilitli dosyayı okumaya izin vermeyecektir.
import java.io.*;
import java.nio.channels.FileChannel;
import java.nio.channels.FileLock;
public class FileLockSample {
public static void main(String[] args) throws Exception {
RandomAccessFile file = null;
FileLock fileLock = null;
try {
// dosyayı RW icin acıyoruz
file = new RandomAccessFile("C:/a.txt", "rw");
FileChannel fileChannel = file.getChannel();
// Dosya kilitleniyor
fileLock = fileChannel.tryLock();
if (fileLock != null){
System.out.println("Dosya kitli");
// Dosya okunmaya çalışılıyor
// fakat kilitli olduğu için
// Exception atıyor
FileInputStream input=null;
input = new FileInputStream("C:/a.txt");
int data = input.read();
System.out.println(data);
}
} catch (Exception exception){
exception.printStackTrace();
} finally {
if (fileLock != null){
// Dosya kiliti kaldırılıyor
fileLock.release();
}
}
}
}
yazan ekocaman
\\ tags: dosya, kilitlemek
Oct 17
public class ImageApp {
public static BufferedImage loadImage(String ref) {
BufferedImage bimg = null;
try {
bimg = ImageIO.read(new File(ref));
} catch (Exception e) {
e.printStackTrace();
}
return bimg;
}
public void loadAndDisplayImage(JFrame frame) {
// resmi yükle
BufferedImage loadImg = loadImage("C:/Images/duke.gif");
frame.setBounds(0, 0, loadImg.getWidth(), loadImg.getHeight());
// Paneli görünür yap ve Frame üzerine ekle
frame.setVisible(true);
// Graphics objesini al
Graphics2D g = (Graphics2D)frame.getRootPane().getGraphics();
// Resmi Graphics objesi üzerine çiz
g.drawImage(loadImg, null, 0, 0);
}
public static void main(String[] args) {
ImageApp app = new ImageApp();
JFrame frame = new JFrame("Tutorials");
app.loadAndDisplayImage(frame);
}
}
yazan ekocaman
\\ tags: JFrame
Oct 15
Java programlamada en çok kullanılan String Fonksiyonları
public class StringFunctions {
public static void main(String[] args) {
String str = "";
/**
* String değeri "javaci" olarak atanmıştır
* ve program boyunca değişmemektedir.
*/
str = "javaci";
/**
* ÖNEMLİ:
* String methodlari üzerinde çalıştırılan String
* içerisinde değişiklik yapmaz. Yeni bir String oluşturarak
* bütün değişiklikleri bu String üzerinde yapar ve
* geriye döner
*/
/**
* charAt methodu ile istenen index'deki
* karakter alınır
*/
System.out.println(str.charAt(2)); // 'v'
/**
* concat methodu ile String sonuna
* başka bir String eklenir
*/
System.out.println(str.concat(".net")); // javaci.net
/**
* equalsIgnoreCase methodu ile String karşılaştırması
* String içerisindeki harf küçük-büyük durumu ihmal
* edilerek yapılır
*/
System.out.println(str.equalsIgnoreCase("JAVACI")); // true
System.out.println(str.equalsIgnoreCase("JaVAcI")); // true
System.out.println(str.equalsIgnoreCase("haVAcI")); // false
/**
* length methodu ile String boyutu alınır
*/
System.out.println(str.length()); // 6
/**
* replace methodu ile String içerisindeki karakter
* başka bir karakter ile değiştirilir
*/
System.out.println(str.replace('a', 'A')); // jAvAci
/**
* substring methodu ile String içerisinde
* başlangıç ve bitiş indexi verilen yeni String
* geriye döner. index 0'dan başlar ve String
* uzunluğunu aşmamalıdır
*/
System.out.println(str.substring(1, 3)); // av
/**
* toLowerCase methodu String içerisindeki
* harfleri küçültür
*/
System.out.println(str.toLowerCase()); // javaci
/**
* toUpperCase methodu String içerisindeki
* harfleri büyültür
*/
System.out.println(str.toUpperCase()); // JAVACI
}
}
yazan ekocaman
\\ tags: String
Son Yorumlar