文件处理
实验编号: 实验六
实验主题: 文件处理
实验目的: (1)理解和掌握输入/输出技术、有关类和方法; (2)理解流的概念、分类和继承关系; (3)掌握文本文件的处理; (4)掌握二进制文件的处理。
实验要求: (1)使用FileInputStream、FileOutputStream、DataInputSteam、DataOutputSteam、RandomAccessFile处理二进制文件;
(2)使用FileReader、FileWriter、BufferedReader、BufferedWriter 、PrintWriter处理文本文件;
(3)使用File完成文件属性的操作;
(4)在Eclipse或Netbeans环境下完成实验内容;
(5)认真撰写完整的实验报告。
实验步骤: (1)设计类和程序的结构; (2)定义相关类,完成编码; (3)编译、调试、运行程序。
实验提示: (1)注意二进制文件和文本文件处理的区别; (2)注意过滤流类的使用方法。
题目6-1:文件统计
编写程序,统计英文文本文件中的字符数目和单词数目。程序运行时,输入要统计的文件的名称,程序处理后输出字符数目和单词数目。
package test6_1;
import java.io.*;
import javax.swing.*;
public class file {
public static void main(String[] args) {
try {
int CharCount = 0;
int WordCount = 0;
int len=0;
String s = JOptionPane.showInputDialog("请输入文件名(如filename) :");
File infile = new File(s+".txt");
if(infile.exists()==false) {
JOptionPane.showMessageDialog(null,"未找到该文件","Error",JOptionPane.ERROR_MESSAGE);
}
FileReader in = new FileReader(infile);
int ch=in.read();
while(ch!=-1) {
if(ch>='A'&&ch<='z') {
CharCount++;
len++;
if(len==1) {
WordCount++;
}
}
else if(ch!='\''&&ch!='-') len=0;
ch=in.read();
}
JOptionPane.showMessageDialog(null, "字符数目:"+CharCount+"\n"
+"单词数目:"+WordCount);
in.close();
}
catch(IOException exception) {
exception.printStackTrace();
}
}
}
题目6-2:图书借阅第二版
修改Java程序设计(二)中的图书借阅第一版,将各种信息保存在文件中。
在这里插入代码片