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

📄 employeefileio.java

📁 icarnegie SSD3 CatalogGUI
💻 JAVA
字号:
import java.util.*;
import java.io.*;

/**
 * This class provides two file I/O methods for handling employee data.
 * 

 * @version 1.0.0
 * @see Employee
 */
public class EmployeeFileIO {

	/**
	 * Creates an <code>ArrayList</code> of <code>Employee</code> objects
	 * from a file that contains employee data.
	 * <p>
	 * Every line in the specified file should contain three fields: ID, name,
	 * and salary of an employee in the following format: ID_name_salary
	 * </p>
	 * 
	 * @param filename
	 *            the name of a file containing employee data.
	 * @return an <code>ArrayList</code> of <code>Employee</code> objects.
	 * @throws FileNotFoundException
	 *             if the specified file does not exist.
	 * @throws IOException
	 *             if an I/O error occurs.
	 * @throws NoSuchElementException
	 *             if the data in the file is incomplete.
	 * @throws NumberFormatException
	 *             if the file contains invalid numbers.
	 */
	public static ArrayList<Employee> read(String filename)
			throws FileNotFoundException, IOException, NoSuchElementException,
			NumberFormatException {

		ArrayList<Employee> employee = new ArrayList<Employee>();

		BufferedReader fileIn = new BufferedReader(new FileReader(filename));

		String linea = fileIn.readLine();

		while (linea != null) {

			StringTokenizer tokenizer = new StringTokenizer(linea, "_");

			int ID = Integer.parseInt(tokenizer.nextToken());
			String name = (tokenizer.nextToken());
			double salary = Double.parseDouble(tokenizer.nextToken());

			employee.add(new Employee(ID, name, salary));
			linea = fileIn.readLine();
		}

		fileIn.close();

		return employee;
	}

	/**
	 * Creates a file of employee data from an <code>ArrayList</code> of
	 * <code>Employee</code> objects.
	 * <p>
	 * Every line in the file should contain the ID, name, and salary of an
	 * employee separated by an underscore: ID_name_salary
	 * </p>
	 * 
	 * @param filename
	 *            the name of the file that will store the employee data.
	 * @param arrayList
	 *            an <code>ArrayList</code> of <code>Employee</code>
	 *            objects.
	 * @throws IOException
	 *             if an I/O error occurs.
	 */
	public static void write(String filename, ArrayList<Employee> arrayList)
			throws IOException {

		PrintWriter fileOut = new PrintWriter(new FileWriter(filename));

		for (Iterator<Employee> employeeIterator = arrayList.iterator(); 
				employeeIterator.hasNext();) {

			Employee employ = employeeIterator.next();
			fileOut.println(employ.toString());
		}

		fileOut.close();
	}

}

⌨️ 快捷键说明

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