繁体   English   中英

android从txt文件中删除已知行

[英]android remove known line from txt file

我需要从txt文件中删除一行,并且我已经知道该行的位置。 我知道如何替换读取整个内容的txt文件上的数据,但我想从特定位置删除行。 谢谢。

BufferedReader br = new BufferedReader(new FileReader("data/data/"+ PACKAGE_NAME +"/myFile.txt"));

//delete Line on position 2 (as example)


br.close();

您可以先从File读取所有行,然后将它们存储在List<String> 然后,您可以删除索引并写回所有行。 也许看起来像:

public void removeLine(final File file, final int lineIndex) throws IOException{
    final List<String> lines = new LinkedList<>();
    final Scanner reader = new Scanner(new FileInputStream(file), "UTF-8");
    while(reader.hasNextLine())
        lines.add(reader.nextLine());
    reader.close();
    assert lineIndex >= 0 && lineIndex <= lines.size() - 1;
    lines.remove(lineIndex);
    final BufferedWriter writer = new BufferedWriter(new FileWriter(file, false));
    for(final String line : lines)
        writer.write(line);
    writer.flush();
    writer.close();
}

用法:

public static void main(String args[]) throws IOException{
    final File file = ...;
    removeLine(file, 2);
}

上面的代码将删除第三行。

由jni使用

  1. open
  2. mmap
  3. memcpy
  4. munmap
  5. ftruncate
  6. close

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM