• 文本统计——字符 单词 行数


    本次作业是解析一个文件,我们要解析一个文件首先要能获取打开它,或者是自己创建一个文件。但是我没有做到只能获取edittext控件中输入的文字进行简单解析,这和本次作业的目地有本质的差别。

    public class MainActivity extends AppCompatActivity {
        private EditText editText;
        private Button button;
        private TextView textView;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            editText = (EditText)findViewById(R.id.et);
            button = (Button)findViewById(R.id.btj);
            textView = (TextView)findViewById(R.id.tvs);
            button.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    int charnumber = 0 ;//字符
                    int words = 0;//单词
                    int linenumber = 0;//行数
                    String filename=editText.getText().toString();
                            try {
                                //打开文件
                                File file = new File(Environment.getExternalStorageDirectory().getCanonicalPath() + "/"+filename+".txt");
                                FileInputStream isr=new FileInputStream(file);
                                BufferedReader br = new BufferedReader(new InputStreamReader(isr));
                                //解析文件
                                while( br.read()!= -1){
                                    String s = br.readLine();
                                    charnumber+=s.length();
                                    words +=s.split(" ").length;
                                    linenumber ++;
                                }
                                isr.close();//关闭
                                textView.setText("字符数:"+charnumber+"	单词数:"+words+"行 数:"+linenumber);
                            } catch (IOException e) {
                                e.printStackTrace();
                            }
                    }
            });
        }
    }
    

    运行结果

    我在网上找到了保存文件的的方法,但是我把它放进我的程序时没有反应,经过很多次的修改调试还未解决。。。。
    以下是我在网上找的保存文件的方法

    private void write() {
            String txt = editText.getText().toString();
            try {
                if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
                    File sdDire = Environment.getExternalStorageDirectory();
                    FileOutputStream outFileStream = new FileOutputStream(sdDire.getCanonicalPath() + "/test.txt");
                    outFileStream.write(txt.getBytes());
                    outFileStream.close();
                    Toast.makeText(this, "数据保存到text.txt文件了", Toast.LENGTH_LONG).show();
                } else {
                    Toast.makeText(this, "未找到内存卡", Toast.LENGTH_SHORT).show();
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    

    记录表

  • 相关阅读:
    raid阵列算法/数据恢复方法汇总
    EMC Isilon(OneFS)误删文件数据恢复过程<存储数据恢复>
    Raid磁盘阵列更换磁盘时另一块盘离线(v7000存储数据恢复)
    SqlServer数据库无法读取的数据恢复方案实施过程
    ds4800服务器lvm信息丢失数据恢复方案
    Hyper-V数据文件丢失数据恢复过程
    v7000存储数据恢复成功率分析-数据恢复初检报告
    Ext4文件系统fsck后损坏如何恢复?-北亚数据恢复
    服务器raid5两块硬盘离线lvm vxfs文件系统数据恢复过程
    临时表
  • 原文地址:https://www.cnblogs.com/lw0607/p/6625381.html
Copyright © 2020-2023  润新知