簡體   English   中英

在Android中讀取特定行fromt .txt文件

[英]Reading specific line fromt .txt file in android

我有文件,它的大小可以根據行數而變化。 我唯一知道的是它由7行的相同模塊組成。 因此,.txt可以是7、14、21、70、77等行。 我只需要獲取每個模塊的標頭-第0、7行,依此類推。

我已經為工作編寫了以下代碼:

    textFile = new File(Environment.getExternalStorageDirectory() + "/WorkingDir/" + "modules.txt" );

    List<String> headers = new ArrayList<>();

    if (textFile.exists()) {
        try {
            FileInputStream fs= new FileInputStream(textFile);
            BufferedReader reader = new BufferedReader(new InputStreamReader(fs));
            int lines = 0;
            int headLine = 0;
            while (reader.readLine() != null) { lines++;}
            Log.i("Debug", Integer.toString(lines));
            while(headLine < lines){


                for (int i = 0; i < dateLine - 1; i++)
                {
                    reader.readLine();
                    Log.i("Debug", reader.readLine());
                }
                headers.add(reader.readLine());


                headLine += 7;
            }

            Log.i("Debug", headers.toString());


        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

問題在於它總是返回[null]。 我不知道問題出在哪里,因為我將溢出中的類似問題用作參考。

ArrayList<String>  headerLines = new ArrayList();
BufferedReader br = new BufferedReader(new FileReader(file));
try {
    String line;
    int lineCount = 0;
    while ((line = br.readLine()) != null) {
       // process the line.
       if(lineCount % 7 == 0) {
           heaaderLines.add(line);
       }
       lineCount ++;
    }
} catch (IOException ioEx) {
    ioEx.printStackTrace();
} finally {
    br.close();
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM