18
Q1. Write a program in java to explain the concept of “THREADING”. Solution: - Threads can be implemented in two ways – 1. By Extending the THREAD class. 2. By Implementing the RUNNABLE class. Implementing the “Runnable” class. CODE – class NewThread implements Runnable { Thread t; NewThread() { t = new Thread(this, "Demo Thread"); System.out.println("Child thread: " + t); t.start(); } public void run() { try { for(int i = 5; i > 0; i--) { System.out.println("Child Thread: " + i); Thread.sleep(500); } } catch (InterruptedException e) { System.out.println("Child interrupted."); } System.out.println("Exiting child thread."); } } class ThreadDemo { public static void main(String args[]) { new NewThread(); // create a new thread try { for(int i = 5; i > 0; i--) { System.out.println("Main Thread: " + i); Thread.sleep(1000); } } catch (InterruptedException e) { System.out.println("Main thread interrupted."); } System.out.println("Main thread exiting."); } }

Advanced Java Practical File

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Advanced Java Practical File

Q1. Write a program in java to explain the concept of “THREADING”.

Solution: -

Threads can be implemented in two ways –

1. By Extending the THREAD class.2. By Implementing the RUNNABLE class.

Implementing the “Runnable” class.

CODE –

class NewThread implements Runnable{

Thread t;NewThread(){

t = new Thread(this, "Demo Thread");System.out.println("Child thread: " + t);t.start();

}public void run(){

try{

for(int i = 5; i > 0; i--){

System.out.println("Child Thread: " + i);Thread.sleep(500);

}}catch (InterruptedException e){

System.out.println("Child interrupted.");}System.out.println("Exiting child thread.");

}}

class ThreadDemo{

public static void main(String args[]){

new NewThread(); // createa new thread

try{

for(int i = 5; i > 0; i--){

System.out.println("Main Thread: " + i);Thread.sleep(1000);

}}catch (InterruptedException e){

System.out.println("Main thread interrupted.");}System.out.println("Main thread exiting.");

}}

Page 2: Advanced Java Practical File

OUTPUT –

Extending the “THREAD” class.

CODE –

class Share extends Thread{

static String msg[]={"This", "is", "a", "synchronized", "variable"};Share(String threadname){

super(threadname);}public void run(){

display(getName());}public void display(String threadN){

synchronized(this){for(int i=0;i<=4;i++){

System.out.println(threadN+msg[i]);}try{

this.sleep(1000);}catch(Exception e){}

}}}class Sync{

public static void main(String[] args){

Share t1=new Share("Thread One: ");t1.start();Share t2=new Share("Thread Two: ");t2.start();

}}

Page 3: Advanced Java Practical File

OUTPUT –

Q2. Write a program in java to implement Socket Programming.

Solution: -

A Client – Server Chat Program

CODE –

CLIENT.JAVA

import java.net.*;import java.io.*;

public class Client implements Runnable{

Socket s;BufferedReader br;BufferedWriter bw;BufferedReader ppp;String input = null;public static void main(String[] args){

new Client();}public void run(){

try{

s.setSoTimeout(1);}catch(Exception e){}while (true){

try{

System.out.println("Server: "+br.readLine());}catch (Exception h){}

}}public Client()

Page 4: Advanced Java Practical File

{try{

s = new Socket("127.0.0.1",100);br = new BufferedReader(new InputStreamReader(s.getInputStream()));bw = new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));ppp = new BufferedReader(new InputStreamReader(System.in));Thread th;th = new Thread(this);th.start();bw.write("Hello Server");bw.newLine();bw.flush();while(true){

input = ppp.readLine();bw.write(input);bw.newLine();bw.flush();

}}catch(Exception e){}

}}

SERVER.JAVA

import java.net.*;import java.io.*;

public class ServerApp implements Runnable{

ServerSocket s;Socket s1;BufferedReader br;BufferedWriter bw;BufferedReader ppp;String input = null;public void run(){

try{

s1.setSoTimeout(1);}catch(Exception e){}while (true){

try{

System.out.println("Client: "+br.readLine());}catch (Exception h){}

}}public static void main(String arg[]){

new ServerApp();}public ServerApp()

Page 5: Advanced Java Practical File

{try{

s = new ServerSocket(100);s1=s.accept();br = new BufferedReader(new InputStreamReader(s1.getInputStream()));bw = new BufferedWriter(new OutputStreamWriter(s1.getOutputStream()));ppp = new BufferedReader(new InputStreamReader(System.in));Thread th;th = new Thread(this);th.start();while(true){

input = ppp.readLine();bw.write(input);bw.newLine();bw.flush();

}}catch(Exception e){}

}}

OUTPUT –

Q3. Write a program in java for Sending E-Mails.

Solution: -

import java.util.Date;import java.util.Properties;import javax.mail.Message;import javax.mail.Session;import javax.mail.Transport;import javax.mail.internet.MimeMessage;

Page 6: Advanced Java Practical File

public class Gmail{

public static void main(String ss[]){

String host = "smtp.gmail.com";String username = "somgaj";String password = "qwaszx,.12/3";try{

Properties props = new Properties();props.put("mail.smtps.auth", "true");props.put("mail.from","[email protected]");Session session = Session.getInstance(props, null);Transport t = session.getTransport("smtps");t.connect(host, username, password);MimeMessage msg = new MimeMessage(session);msg.setFrom();msg.setRecipients(Message.RecipientType.TO, "[email protected]");msg.setSubject("Hello Soumya!!");msg.setSentDate(new Date());msg.setText("Hi! FROM JAVA....If you recieve this, it is a success....");t.sendMessage(msg, msg.getAllRecipients());

}catch(Exception ee){

System.out.println(ee.toString());}

}}

OUTPUT –

Page 7: Advanced Java Practical File

Q4. Write a program in java for Implementing Calculator in an Applet.

Solution: -

CODE –

CAL.JAVA

import java.awt.*;import java.awt.event.*;import java.applet.*;

class Cal extends Applet implements ActionListener{

String msg=" ";int v1,v2,result;TextField t1;Button b[]=new Button[10];Button add,sub,mul,div,clear,mod,EQ;char OP;public void init(){

Color k=new Color(120,89,90);setBackground(k);t1=new TextField(10);GridLayout gl=new GridLayout(4,5);setLayout(gl);for(int i=0;i<10;i++){

b[i]=new Button(""+i);}ad=new Button("add");sub=new Button("sub");mul=new Button("mul");div=new Button("div");mod=new Button("mod");clear=new Button("clear");EQ=new Button("EQ");t1.addActionListener(this);add(t1);for(int i=0;i<10;i++){

add(b[i]);}add(ad);add(sub);add(mul);add(div);add(mod);add(clear);add(EQ);for(int i=0;i<10;i++){

b[i].addActionListener(this);}ad.addActionListener(this);sub.addActionListener(this);mul.addActionListener(this);div.addActionListener(this);mod.addActionListener(this);clear.addActionListener(this);EQ.addActionListener(this);

}

Page 8: Advanced Java Practical File

public void actionPerformed(ActionEvent ae){

String str=ae.getActionCommand();char ch=str.charAt(0);if ( Character.isDigit(ch))t1.setText(t1.getText()+str);elseif(str.equals("ad")){

v1=Integer.parseInt(t1.getText());OP='+';t1.setText("");

}else if(str.equals("sub")){

v1=Integer.parseInt(t1.getText());OP='-';t1.setText("");

}else if(str.equals("mul")){

v1=Integer.parseInt(t1.getText());OP='*';t1.setText("");

}else if(str.equals("div")){

v1=Integer.parseInt(t1.getText());OP='/';t1.setText("");

}else if(str.equals("mod")){

v1=Integer.parseInt(t1.getText());OP='%';t1.setText("");

}if(str.equals("EQ")){

v2=Integer.parseInt(t1.getText());if(OP=='+')

result=v1+v2;else if(OP=='-')

result=v1-v2;else if(OP=='*')

result=v1*v2;else if(OP=='/')

result=v1/v2;else if(OP=='%')

result=v1%v2;t1.setText(""+result);

}if(str.equals("clear")){

t1.setText("");}

}}

Page 9: Advanced Java Practical File

CALCULATOR.HTML

<html>

<applet code=Cal.class height=500 width=400>

</applet>

</HTML>

OUTPUT –

Page 10: Advanced Java Practical File

Q6. Write a program in java for Implementing RMI.

Solution: -

An applet using RMI implementing a calculator.

CODE –

CLIENT.JAVA

import java.rmi.*;import java.rmi.registry.*;import java.awt.*;import java.awt.event.*;

class mathClient extends Frame implements ActionListener{

Button B1=new Button("Sum");Button B2=new Button("Subtract");Button B3=new Button("Multiply");Button B4=new Button("Divide");Label l1=new Label("Number 1");Label l2=new Label("Number 2");Label l3=new Label("Result");TextField t1=new TextField(20);TextField t2=new TextField(20);TextField t3=new TextField(20);public mathClient(){

super("Calculator");setLayout(null);l1.setBounds(20,50,55,25);add(l1);l2.setBounds(20,100,55,25);add(l2);l3.setBounds(20,150,55,25);add(l3);t1.setBounds(150,50,100,25);add(t1);t2.setBounds(150,100,100,25);add(t2);t3.setBounds(150,150,100,25);add(t3);B1.setBounds(20,200,80,25);add(B1);B2.setBounds(100,200,80,25);add(B2);B3.setBounds(180,200,80,25);add(B3);B4.setBounds(260,200,80,25);add(B4);B1.addActionListener(this);B2.addActionListener(this);B3.addActionListener(this);B4.addActionListener(this);addWindowListener(

new WindowAdapter(){

public void windowClosing(WindowEvent e){

System.exit(0);}

}

Page 11: Advanced Java Practical File

);}

public void actionPerformed(ActionEvent AE){if(AE.getSource()==B1)

{sum();}else if(AE.getSource()==B2){

subt();}else if(AE.getSource()==B3){

mult();}else if(AE.getSource()==B4){

div();}

}public void sum(){int i=Integer.parseInt(t1.getText());int j=Integer.parseInt(t2.getText());int val;try{

String ServerURL="MathServ";mathInterface MI=(mathInterface)Naming.lookup(ServerURL);val=MI.add(i,j);t3.setText(""+val);}

catch(Exception ex){

System.out.println("Exception:"+ex);}

}public void subt(){int i=Integer.parseInt(t1.getText());int j=Integer.parseInt(t2.getText());int val;try{

String ServerURL="MathServ";mathInterface MI=(mathInterface)Naming.lookup(ServerURL);val=MI.subt(i,j);t3.setText(""+val);}

catch(Exception ex){

System.out.println("Exception:"+ex);}

}public void mult(){int i=Integer.parseInt(t1.getText());int j=Integer.parseInt(t2.getText());int val;try{

String ServerURL="MathServ";mathInterface MI=(mathInterface)Naming.lookup(ServerURL);val=MI.mult(i,j);

Page 12: Advanced Java Practical File

t3.setText(""+val);}

catch(Exception ex){

System.out.println("Exception:"+ex);}

}public void div(){int i=Integer.parseInt(t1.getText());int j=Integer.parseInt(t2.getText());int val;try{

String ServerURL="MathServ";mathInterface MI=(mathInterface)Naming.lookup(ServerURL);val=MI.div(i,j);t3.setText(""+val);}

catch(Exception ex){

System.out.println("Exception:"+ex);}

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

mathClient MC=new mathClient();MC.setVisible(true);MC.setSize(600,500);};

}

SERVER.JAVA

import java.rmi.*;import java.rmi.Naming.*;import java.rmi.server.*;import java.rmi.registry.*;import java.net.*;import java.util.*;interface mathInterface extends Remote{

public int add(int a,int b) throws RemoteException;public int subt(int a,int b) throws RemoteException;public int mult(int a,int b) throws RemoteException;public int div(int a,int b) throws RemoteException;

}class mathServer extends UnicastRemoteObject implements mathInterface{

public mathServer() throws RemoteException{

System.out.println("Initializing Server");}public int add(int a,int b){

return(a+b);}public int subt(int a,int b){

return(a-b);}public int mult(int a,int b){

return(a*b);}

Page 13: Advanced Java Practical File

public int div(int a,int b){

return(a/b);}public static void main(String args[]){

try{

mathServer ms=new mathServer();java.rmi.Naming.rebind("MathServ",ms);System.out.println("Server Ready");

}catch(RemoteException RE){

System.out.println("Remote Server Error:"+ RE.getMessage());System.exit(0);

}catch(MalformedURLException ME){

System.out.println("Invalid URL!!");}

}}

OUTPUT –

Q7. Write a program in java for reading a file from a designated URL.

Solution: -

I have used my drop-box account for accessing a file stored in my DROPBOX server.

CODE –

import java.io.BufferedInputStream;

import java.io.InputStream;

import java.io.InputStreamReader;

import java.io.Reader;

Page 14: Advanced Java Practical File

import java.net.URL;

class MainClass {

public static void main(String[] args) throws Exception {

URL u = new URL("https://dl.dropbox.com/u/94684259/Rajat.txt");

InputStream in = u.openStream();

in = new BufferedInputStream(in);

Reader r = new InputStreamReader(in);

int c;

while ((c = r.read()) != -1) {

System.out.print((char) c);

}

}

}

OUTPUT –

Q8. Write a program in java implementing File input output functions.

Solution: -

CODE –

import java.io.*;public class CopyFile{

private static void copyfile(String srFile, String dtFile){

try{

File f1 = new File(srFile);File f2 = new File(dtFile);

Page 15: Advanced Java Practical File

InputStream in = new FileInputStream(f1);OutputStream out = new FileOutputStream(f2);byte[] buf = new byte[1024];int len;while ((len = in.read(buf)) > 0){

out.write(buf, 0, len);}in.close();out.close();System.out.println("File copied.");

}catch(FileNotFoundException ex){

System.out.println(ex.getMessage() + " in the specified directory.");System.exit(0);

}catch(IOException e){

System.out.println(e.getMessage());}

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

switch(args.length){

case 0: System.out.println("File has not mentioned.");System.exit(0);

case 1: System.out.println("Destination file has not mentioned.");System.exit(0);

case 2: copyfile(args[0],args[1]);System.exit(0);

default : System.out.println("Multiple files are not allow.");System.exit(0);

}}

}

OUTPUT –

Q9. Write a program in java implementing Java Beans.

Solution: -

Implementing a counter with JSP on a server for counting number of website views.

CODE –

COUNTERBEAN.JAVA

package form;public class CounterBean implements java.io.Serializable{

int coun = 0;

Page 16: Advanced Java Practical File

public CounterBean(){}public int getCoun(){

coun++;return this.coun;

}public void setCoun(int coun){

this.coun = coun;}

}

COUNTER.JSP

<%@ page language="java" %>

<jsp:useBean id="counter" scope="session" class="form.CounterBean" />

<HTML>

<HEAD><TITLE>Use Bean Counter Example</TITLE>

</HEAD>

<BODY>

<table><tr><td><b>The current count for the counter bean is: </b>

<%=counter.getCoun() %></td></tr>

</table

</BODY>

</HTML>

OUTPUT –

Page 17: Advanced Java Practical File

Q10. Write a program in java implementing Swings.

Solution: -

CODE –

import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.text.html.*;public class bar{

final static int interval = 1000;int i;JLabel label;

JProgressBar pb;Timer timer;JButton button;public bar(){

JFrame frame = new JFrame("Progress Bar :: By - Rajat Suneja");button = new JButton("Start");button.addActionListener(new ButtonListener());

pb = new JProgressBar(0, 20);pb.setValue(0);pb.setStringPainted(true);

label = new JLabel("Rajat Suneja");JPanel panel = new JPanel();

panel.add(button);panel.add(pb);JPanel panel1 = new JPanel();panel1.setLayout(new BorderLayout());panel1.add(panel, BorderLayout.NORTH);

panel1.add(label, BorderLayout.CENTER);panel1.setBorder(BorderFactory.createEmptyBorder(20, 20, 20, 20));frame.setContentPane(panel1);frame.pack();frame.setVisible(true);

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);timer = new Timer(interval, new ActionListener(){

public void actionPerformed(ActionEvent evt){

if (i == 20){

Page 18: Advanced Java Practical File

Toolkit.getDefaultToolkit().beep();timer.stop();button.setEnabled(true);pb.setValue(0);String str = "<html>" + "<font color=\"#FF0000\">" + "<b>" +

"Downloading completed." + "</b>" + "</font>" + "</html>";label.setText(str);

}i = i + 1;

pb.setValue(i);}

});}

class ButtonListener implements ActionListener{

public void actionPerformed(ActionEvent ae){

button.setEnabled(false);i = 0;String str = "<html>" + "<font color=\"#008000\">" + "<b>" + "Downloading

is in process......." + "</b>" + "</font>" + "</html>";label.setText(str);

timer.start();}

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

bar spb = new bar();}

}

OUTPUT -