You are on page 1of 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();
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.");
}
}

// create

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();
}
}

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()

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()

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
import
import
import
import
import

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

public class Gmail


{
public static
{
String
String
String
try
{

OUTPUT

void main(String ss[])


host = "smtp.gmail.com";
username = "somgaj";
password = "qwaszx,.12/3";
Properties props = new Properties();
props.put("mail.smtps.auth", "true");
props.put("mail.from","somgaj@gmail.com");
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, "somgaj@gmail.com");
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());
}

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);
}

public void actionPerformed(ActionEvent ae)


{
String str=ae.getActionCommand();
char ch=str.charAt(0);
if ( Character.isDigit(ch))
t1.setText(t1.getText()+str);
else
if(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("");
}
}

CALCULATOR.HTML
<html>
<applet code=Cal.class height=500 width=400>
</applet>
</HTML>

OUTPUT

Q6. Write a program in java for Implementing RMI.


Solution: An applet using RMI implementing a calculator.

CODE
CLIENT.JAVA
import
import
import
import

java.rmi.*;
java.rmi.registry.*;
java.awt.*;
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);
}
}

);
}
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);

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);
}

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;

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);

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;

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

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)
{

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 -

You might also like