用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();
}
...