用android 编程解析统计文本文件中的字符数、单词数、行数(作业)
主要代码
...
private void analysis() {
String str = " ";
int words = 0;
int chars = 0;
int lines = 0;
int spaces = 0;
int marks = 0;
int character = 0;
String filename = et_name.getText().toString();
FileInputStream fis = null;
BufferedReader br = null;
try {
if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
File file = new File(Environment.getExternalStorageDirectory().getCanonicalPath() + "/" + filename + ".txt");
if (file.exists()) {
fis = new FileInputStream(file);
br = new BufferedReader(new InputStreamReader(fis));
while ((str = br.readLine()) != null) {
char[] b = str.toCharArray();
for (int i = 0; i < str.length(); i++) {
if (b[i] == ' ') {
spaces++;
} else if (b[i] == ',' || b[i] == '.') {
marks++;
}
}
words += str.split("[ \.,]").length;
chars += str.length();
lines++;
}
character = chars - (spaces + marks);
fis.close();
tv_read.setText("单词数:" + words + ",字符数:" + chars + ",行数:" + lines + ",字母数:" + character + ",空格数:" + spaces + ",标点符号数:" + marks);
} else {
Toast.makeText(this, "不存在该文件", Toast.LENGTH_SHORT).show();
}
}
} catch (Exception e) {
e.printStackTrace();
}
...