How to count lines in file txt android

前端 未结 2 830
囚心锁ツ
囚心锁ツ 2020-12-18 16:45

Can\'t understand how to count lines. Here is my code.

 void load() throws IOException        
{        
    File sdcard = Environment.getExternalStorageDire         


        
相关标签:
2条回答
  • 2020-12-18 17:03

    Is this what you're looking for?

    void load() throws IOException        
    {        
    File sdcard = Environment.getExternalStorageDirectory();
    File file = new File(sdcard,"agenda.file");
    StringBuilder text = new StringBuilder();
    
    try {
        BufferedReader br = new BufferedReader(new FileReader(file));
        String line;
    
        TextView te=(TextView)findViewById(R.id.textView1);
        int lineCount = 0;
        while ((line = br.readLine()) != null) {
            text.append(line);
            text.append('\n');
    
            lineCount++;
        }
        te.setText(String.valueOf(lineCount));
    
    }
    catch (IOException e) {
        //You'll need to add proper error handling here
    }
        Button monpopb = (Button) findViewById(R.id.button13);
        monpopb.setText(text);  
    }
    
    0 讨论(0)
  • 2020-12-18 17:06

    For already existing text files its possible to use LineNumberReader class and LineNumberReader.skip() and LineNumberReader.getLineNumber() methods to get total lines count in file. Something like that:

    ...
    InputStream inputStream = new FileInputStream(new File("<FILE_NAME>"));
    BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
    LineNumberReader lineNumberReader = new LineNumberReader(bufferedReader);
    try {
        lineNumberReader.skip(Long.MAX_VALUE);
    } catch (IOException e) {
        e.printStackTrace();
    }
    linesInFile = lineNumberReader.getLineNumber() + 1;  // because line numbers starts from 0
    ...
    
    0 讨论(0)
提交回复
热议问题