⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 direntry.java

📁 JAVA源代码程序aashjkjhkjhkjhjkhkj
💻 JAVA
字号:
// DirEntry class// ============import java.io.*;public class DirEntry/*	methods include :		getSurname		getForename		getNumber		toString		open		close		clear		read		write*/{	int phoneNumber;	String forename, surname;	// selector methods ..	public String getSurname()	{		return surname;	}	public String getForename()	{		return forename;	}	public int getNumber()	{		return phoneNumber;	}	// constructor methods ..	public DirEntry (String fName, String sName, int number)	{		forename = fName;		surname = sName;		phoneNumber = number;	}	public DirEntry()	{	} 	public String toString()	{		return surname + ", " + forename + " " + phoneNumber + " ";	}	// class attributes and methods ..	static RandomAccessFile file;	public static boolean open(String fileName)	// tries to open the named file; returns "true" if successful,	// "false" otherwise	{		boolean res = true;		try	{			file = new RandomAccessFile(fileName,"rw");		}		catch (IOException e) {			res = false;		}		return res;	} // end of method "open"	public static void close()	// closes the currently opened file	{		try	{			file.close();		}		catch (IOException e)		    {		}	}	public void clear ()	// clear a "dirEntry" to appropriate "empty" values	{		forename = surname = null;		phoneNumber = 0;	} // end of "clear" method	// details of the number of bytes a "dirEntry" occupies	// on the backing store	private static final int RECORD_STRING_SIZE = 15;	private static final int RECORD_SIZE = (RECORD_STRING_SIZE * 2) + 4;	public void read(int recNum) throws IOException	// read a record from the specified RandomAccessFile	{		file.seek((long) recNum * RECORD_SIZE);		phoneNumber = file.readInt();		byte b1[] = new byte [RECORD_STRING_SIZE];		file.readFully(b1);		forename = new String (b1);		byte b2[] = new byte[RECORD_STRING_SIZE];		file.readFully(b2);		surname = new String (b2);	} // end of method "read"	private byte[] process(String str) 	{	int i;	byte res[] = new byte[RECORD_STRING_SIZE];	byte temp[] = str.getBytes();	for (i = 0; i < str.length();i++)		res[i] = temp[i];	for (i = str.length(); i < RECORD_STRING_SIZE; i++)		res[i] = '\0';	return res;	} // end of method "process"	public void write(int recNum) 		throws IOException	{		file.seek((long) recNum * RECORD_SIZE);		file.writeInt(phoneNumber);		if (forename == null) throw new 			IOException("trying to output unset forename");		byte b1[] = process(forename);		file.write(b1);		if (surname == null) throw new			IOException("trying to output unset surname");		byte b2[] = process(surname);		file.write(b2);	} // end of method "write"} // end of class DirEntry

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -