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.");
}}
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 java.util.Date;import java.util.Properties;import javax.mail.Message;import javax.mail.Session;import javax.mail.Transport;import javax.mail.internet.MimeMessage;
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 –
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);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("");}
}}
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 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);}
}
);}
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 -