Java中如何将List中剩下的人名逐行写回原来的TXT文件

NBM1213 2011-01-08 09:49:41
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文件(覆盖掉原来的)
...全文
131 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
buqitianxie 2011-01-08
  • 打赏
  • 举报
回复
照着改下就行了,把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();
}






}

}

whut_lcy 2011-01-08
  • 打赏
  • 举报
回复
2L V5
NBM1213 2011-01-08
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 buqitianxie 的回复:]

照着改下就行了,把List换过来
Java code

import java.io.*;
import java.util.ArrayList;
import java.util.List;


public class TXT {
public static void main(String[] args){
List names=new ArrayList();……
[/Quote]
恩 弄好了3Q

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧