如何在文本文件中添加/删除一行?

时间:2014-12-09 11:40:48

标签: java

我不确定如何为用户提供添加/删除现有文本文件名称的选项。当前代码工作正常,并从文本文件中读取名称。有人能帮我一把吗?

import java.io.File;
import java.util.Scanner;


public class AddOrDeleteNames {
public static void main(String[] args) throws Exception {

  String[] names = new String[100];
  Scanner scan = new Scanner(new File("names.txt"));
  int index = 0;

  while (scan.hasNext()){
    names[index]=(scan.nextLine());
    index++;
  }

  for(int i = 0; i < index; i++){
    System.out.println(names[i]);
  }

    scan.close();
}


}

1 个答案:

答案 0 :(得分:1)

几乎所有东西都有可能,但你会发现使用数组非常困难。

我会使用类似的ArrayList,但是比常规的ol&#39;更好。阵列。

String ArrayList的定义如下:

ArrayList<String> names = new ArrayList<String>();

您可以使用add

ArrayList功能进行添加
while (scan.hasNext())
    names.add(scan.nextLine());

然后,要从文本文件中删除名称,只需使用names函数将其从remove ArrayList中删除,然后将修改后的ArrayList写入文件:

names.remove("Some Name Here");
PrintWriter writer = new PrintWriter("names.txt", "UTF-8");
for (int i = 0; i < names.size(); i++)
    writer.println(names.get(i));
writer.close();

同样,要为文件添加新名称,只需使用ArrayList函数将新名称添加到add,然后再将其写入文件。