📄 employeefileio.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 + -