统计作业

用户界面

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="文件名"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintRight_toRightOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    app:layout_constraintHorizontal_bias="0.0"
    app:layout_constraintVertical_bias="0.0" />

<EditText
    android:id="@+id/et_name"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:ems="10"
    android:inputType="textPersonName"
    android:text=" "
    tools:layout_editor_absoluteY="16dp"
    tools:layout_editor_absoluteX="0dp" />

<TextView
    android:id="@+id/textView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="内容"
    tools:layout_editor_absoluteX="0dp"
    tools:layout_editor_absoluteY="59dp" />

<EditText
    android:id="@+id/et_content"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:ems="10"
    android:inputType="textPersonName"
    android:text=" "
    tools:layout_editor_absoluteX="0dp"
    tools:layout_editor_absoluteY="76dp" />

<Button
    android:id="@+id/btn_write"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="保存"
    tools:layout_editor_absoluteX="0dp"
    tools:layout_editor_absoluteY="119dp" />

<Button
    android:id="@+id/btn_analysis"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="解析"
    tools:layout_editor_absoluteX="88dp"
    tools:layout_editor_absoluteY="119dp" />

<TextView
    android:id="@+id/tv_read"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text=" "
    tools:layout_editor_absoluteX="0dp"
    tools:layout_editor_absoluteY="167dp" />

主要代码

保存代码

private void write() {
    String filename = et_name.getText().toString();
    String filecontent = et_content.getText().toString();
    try {
        if (Environment.getExternalStorageState().equals
                (Environment.MEDIA_MOUNTED)) {
            File sdCardDir = Environment.getExternalStorageDirectory();
            FileOutputStream fos = new FileOutputStream(sdCardDir.getCanonicalPath()
                    + "/" + filename + ".txt");
            fos.write(filecontent.getBytes("UTF-8"));
            fos.close();
            Toast.makeText(this, "数据保存到" + filename + ".txt" + "文件中了", Toast.LENGTH_SHORT).show();
        } else {
            Toast.makeText(this, "未找到SD卡", Toast.LENGTH_SHORT).show();
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
}

分析代码

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

1119681-20170326225139330-2096905031.png
个人项目所耗时间
1119681-20170327084304076-616001660.png

转载于:https://www.cnblogs.com/szj1996/p/6624545.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值