I have .txt file has : 
Running filter Servers_all 
PASSED: uauxrp04.capitalhealth.ca 
PASSED: rauxrp03.capitalhealth.ca 
PASSED: rantorlc01-mp.capitalhealth.ca 
PASSED: gnntprnt01-mp.capitalhealth.ca 
PASSED: rantsmsrv01-mp.capitalhealth.ca 
PASSED: rantthlth01-mp.capitalhealth.ca Convert it to a new file: 
1. no first line; 
2. no "PASSED:" 
3. If you can sort it with name, it is even better, but you can code it without that if it is not easy to code. So the new file will looks like: 
rauxrp03.capitalhealth.ca 
uantchdc02.capitalhealth.ca 
uantcitrix04.capitalhealt 
uauxlab0.cha.ab.ca 
uauxrp04.capitalhealth.ca 
vmntrkm01.capitalhealth.ca

解决方案 »

  1.   

    谁有时间帮帮忙吧 我很久没写JAVA,有点生疏 谢谢了
    要求很简单
    1.除去第一行
    2.除去前面的PASSED:
    3.最好能按名称排序
    4.读取从文本文件。最好能输出到另一个TXT文件
      

  2.   


    String tmp = "";
    BufferedReader br=null;
    RandomAccessFile rf = null;
    try {
    br = new BufferedReader(new FileReader("test.txt"));
    rf = new RandomAccessFile("result.txt", "rw");
    int flag = 0;
    while((tmp=br.readLine())!=null){
    flag++;
    if(flag==1)
    continue;
    tmp = tmp.substring(tmp.indexOf(":")+1);
    rf.writeBytes(tmp+"\n");
    System.out.println(tmp);
    }
    } catch (FileNotFoundException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }finally{
    if(rf!=null){
    try {
    rf.close();
    br.close();
    } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    }
    }
      

  3.   

    调试通过,我要200分,就怕你心疼
    import java.io.*;
    import java.util.*;
    public class test { public static void main(String[] args) {
    // TODO Auto-generated method stub
    SortText st=new SortText();
    st.sort("d:\\change.txt");
    }
    }
    class SortText{
    public void sort(String srcText){//参数srcText为要处理的txt文件,包括路径 
    ArrayList<String> temp=new ArrayList<String>();
    File file=new File(srcText);
    String s=null;
            // 读取txt到arraylist中
    try{
    BufferedReader read=new BufferedReader(new FileReader(file));
    read.readLine();
    while((s=read.readLine())!= null){
    s=s.replaceAll("^PASSED:\\s+", "");
    temp.add(s);
    }
    // 排序arraylist
    String ex=null;
    for(int i=0;i<temp.size()-2;i++)
    for(int j=i+1;j<temp.size()-1;j++)
    if(temp.get(i).compareTo(temp.get(j))>0){
    ex=temp.get(i);
    temp.set(i,temp.get(j));
    temp.set(j,ex);
    }
    //输出到新文本文件名为new.txt
    PrintWriter out=new PrintWriter(new FileWriter("d:\\newfile.txt"));
    //你可以自己设定新文件名和路径
    for(String i:temp){
    out.println(i);
    }
    read.close();
    out.close();
    }catch(IOException e){
    //
    }
    }
    }
      

  4.   

    import java.io.*;
    import java.util.*;public class Test01 {
    public static void parse(String sourceFileName, String destinationFileName) {
    BufferedReader reader = null;
    BufferedWriter writer = null;
    List<String> lines = new LinkedList<String>(); try {
    reader = new BufferedReader(new FileReader(sourceFileName));
    writer = new BufferedWriter(new FileWriter(destinationFileName)); String line; reader.readLine(); // 去掉第一行.
    while ((line = reader.readLine()) != null) {
    // 去掉前缀"PASSED:", 然后存入list.
    lines.add(line.substring(
    line.indexOf("PASSED:") + "PASSED:".length()).trim());
    } // 排序
    Collections.sort(lines); // 写入文件
    Iterator<String> iter = lines.iterator();
    while (iter.hasNext()) {
    writer.write(iter.next());
    writer.newLine();
    } } catch (IOException ioex) {
    ioex.printStackTrace();
    } finally {
    // Close the opened files.
    if (reader != null) {
    try {
    reader.close();
    } catch (IOException ioex) {
    ioex.printStackTrace();
    }
    } if (writer != null) {
    try {
    writer.close();
    } catch (IOException ioex) {
    ioex.printStackTrace();
    }
    }
    }
    } public static void main(String args[]) {
    Test01.parse("src.txt", "des.txt"); // 源文件名, 保存的文件名
    }
    }
      

  5.   

    写的都很好
    KKK2007 很想给你200分,可是论坛功能好像...
    ============
    每个帖子只能加分一次,加分后过期日延后15天! 
    加分: 100    (目前只能加100分) 
    ============
    不知道能不能直接转账。Inhibitory 的代码似乎更加简洁规范。感谢KKK2007 ,chaucer518 ,Inhibitory ...
      

  6.   

    我用的firefox,不能以代码的形式粘上去,所以贴的文本,就那样了