package org.ccid.test;import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;/**
 * @user: Administrator
 * @author: yougang
 * @version:1.0
 * @created:Jan 6, 2011  
 */public class ReadName {
  public static void main(String[] args) throws Exception{
FileInputStream fileRead = new FileInputStream(new File("D:\\name.txt"));
InputStreamReader inputStreamReader = new InputStreamReader(fileRead,"UTF-8");
BufferedReader buffer = new BufferedReader(inputStreamReader);
String tempStr = "";
List list = new ArrayList();
System.out.println("所有人名如下:");
while((tempStr=buffer.readLine())!=null) {
System.out.println(tempStr);
  list.add(tempStr);
}
System.out.println("-------------------------");//每次随机删除三个人名
System.out.println("删除的人名如下:");
for (int i = 0; i < 3; i++) {
int tempIndex = (int)(Math.random()*4);
System.out.println(list.get(tempIndex));
list.remove(tempIndex);
}
System.out.println("--------------------------");
System.out.println("剩下的人名如下:");
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
}
}现在问题是如何将剩下的人名逐行写回原来的TXT文件(覆盖掉原来的)

解决方案 »

  1.   

    照着改下就行了,把List换过来import java.io.*;
    import java.util.ArrayList;
    import java.util.List;
    public class TXT {
    public static void main(String[] args){
    List names=new ArrayList();
    names.add("name1");
    names.add("name2");
    names.add("name3");
    names.add("name4");
    names.add("name5");
    File f = new File("E:\\123.txt");
     if(f.exists()){
        System.out.print("文件存在");
       }else{
        System.out.print("文件不存在");
        try {
    f.createNewFile();
    } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }//不存在则创建
       } try {
    BufferedReader input = new BufferedReader(new FileReader(f));
    BufferedWriter output = new BufferedWriter(new FileWriter(f));
    for(int i=0;i<names.size();i++)
    output.write((String)names.get(i)+"\r\n");

       output.close(); } catch (Exception e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }




    }}