Archive

Archive for January 16, 2009

Java Program to display file attributes like isfile(), exist() etc – Q32

January 16, 2009 Leave a comment

Q32: Java Program to display file attributes like isfile(), exist() etc

import java.io.*;

class file_attrib{

	static void p(String s){
		System.out.println(s);
	}

	public static void main(String args[]){
		File f1 = new File("fact_rec.java");
		p("File name: " + f1.getName());
		p("path: " + f1.getPath());
		p("Abs Path :" + f1.getAbsolutePath());
		p("Parent: "+ f1.getParent());
		p(f1.exists() ? "exists" : "dose not exist");
		p(f1.canWrite() ? "is writable" : "is not writable");
		p(f1.canRead() ? "is readable" : "is not readable");
		p("is " + (f1.isDirectory() ? "" : "not a directory"));
		p(f1.isFile() ? "is normal file" : "might be a named pipe");
		p(f1.isAbsolute() ? "is absolute" : "is not absolute");
		p("File last modified: " + f1.lastModified());
		p("File size: " + f1.length() + " Bytes");
		}
}

… from College notes (BCA/MCA assignments):


Java Program to show Thread Synchronization by user defined Get & Put methods – Q31

January 16, 2009 Leave a comment

Q31: Java Program to create Q class having Get and Put methods and then create Producer and Consumer classes which accept Q object in their constructor. Put and get the numbers through a for loop in producer and consumer, use an array to put and get the numbers.

class Q{
	int n;

	synchronized int get(){
		System.out.println("Get: " + n);
		return n;
	}

	synchronized void put(int n){
		this. n = n;
		System.out.println("Put: " + n);
	}
}

class Producer implements Runnable{
	Q q;

	Producer(Q q){
		this.q = q;
		new Thread(this, "Producer").start();
	}

	public void run(){
		int i=0;
		while(true){
			q.put(i++);
		}
	}
}

class Consumer implements Runnable{
	Q q;

	Consumer(Q q){
		this.q = q;
		new Thread(this, "Consumer").start();
	}

	public void run(){
		while(true){
			q.get();
		}
	}
}

class PC{

	public static void main(String args[]){
		Q q = new Q();
		new Producer(q);
		new Consumer(q);
		
		System.out.println("Press Ctrl-C to STOP");
	}
}

… from College notes (BCA/MCA assignments):