Usando o arquivo de entrada / saída de fluxos de informação armazenada de conclusão livros e livros lidos novamente.
Cada estação da escola escola será uma série de livros para livros novos, estes livros precisa salvar informações em um arquivo, em seguida, imprimi-los facilmente ver o professor. A programação seguinte, usando a função de armazenamento de fluxo de entrada / saída de arquivo está concluído e leitura de informações do livro, os passos específicos são os seguintes.
1. Crie uma classe Livro, não contém, nome e preço 3 atributos na classe, respectivamente número de livros, livros e livros o nome do preço unitário. O método também inclui dois write () e read (), respectivamente, para escrever informações num informações livros de arquivo em disco e livro é lido a partir do arquivo de disco e impresso para o console.
Além disso, o método toString () e um construtor de classe tem três parâmetros incluídos na classe de produto, especificamente como segue:
public class Book {
private int no; // 编号
private String name; // 名称
private double price; // 单价
public Book(int no, String name, double price) {
this.no = no;
this.name = name;
this.price = price;
}
public String toString() {
return "图书编号:" + this.no + ",图书名称:" + this.name + ",图书单价:" + this.price + "\n";
}
public static void write(List books) {
FileWriter fw = null;
try {
fw = new FileWriter("E:\\myJava\\books.txt"); // 创建FileWriter对象
for (int i = 0; i < books.size(); i++) {
fw.write(books.get(i).toString()); // 循环写入
}
} catch (Exception e) {
System.out.println(e.getMessage());
} finally {
try {
fw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
public static void read() {
FileReader fr = null;
BufferedReader br = null;
try {
fr = new FileReader("E:\\myJava\\books.txt");
br = new BufferedReader(fr); // 创建BufferedReader对象
String str = "";
while ((str = br.readLine()) != null) { // 循环读取每行数据
System.out.println(str); // 输出读取的内容
}
} catch (Exception e) {
System.out.println(e.getMessage());
} finally {
try {
br.close();
fr.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
Respectivamente, utilizando o arquivo de caráter e saída de fluxos FileWriter fluxo de entrada de caracteres BufferedReader loja tampão e ler a função completa de informações do livro.
2 classes de teste de gravação de teste, criar duas Livro objetos e salvar os dois objetos a uma coleção List, em seguida, transferir para uma coleção de objetos método Lista dos livros classe write (), a F: \ arquivo product.txt informações livro escrito. classe de produto última chamada read () método lê o conteúdo do arquivo, como segue:
public class Test {
public static void main(String[] args) {
Book book1 = new Book(1001, "百度搜索引擎", 159);
Book book2 = new Book(1002, "百度搜索引擎", 259);
List books = new ArrayList();
books.add(book1);
books.add(book2);
Book.write(books);
System.out.println("********************图书信息******************");
Book.read();
}
}
3. informações Livro para executar o programa, a saída, como mostrado abaixo. Abrir E: \ myjava \ books.txt arquivo, o conteúdo do ficheiro mostrado na Fig.
********************图书信息******************
图书编号:1001,图书名称:百度搜索引擎,图书单价:159.0
图书编号:1002,图书名称:百度搜索引擎,图书单价:259.0