比如D盘有一个ddd.txt文件文件内容为:
白马是马
马是白马假如我想把第二行的内容修改为“马不一定是白马” 要怎么做?在线等答案 求大神回复

解决方案 »

  1.   

    基本上没什么让你认为会更完美的方案:用FileReader打开文件,全部读取进来,关闭。
    然后把第二行替换成你想要的字符串。
    最后用FileWriter打开文件,全部写入。
      

  2.   

    用FileInputStream read()方法读取文件里的内容,然后在用FileOutputStream中的public void write(byte[] b)  throws IOException方法将要改的内容写到第二行,思路就是这样
      

  3.   

    import java.io.*;
    import java.util.*;public class ad13
    {
    public static void main(String[] args)
    {
    FileReader fi;
    List<String> list = new ArrayList<String>();
    try
    {
    fi = new FileReader("D:/ddd.txt");
    BufferedReader bis = new BufferedReader(fi);
    String str = "";
    while((str = bis.readLine()) != null)
    {
    list.add(str);
    }
    fi.close();
    bis.close();
    list.set(1, "马不一定是白马");

    } catch(IOException e){
    e.printStackTrace();
    }

    FileOutputStream fos;
    try
    {
    fos = new FileOutputStream("D:/ddd.txt");
    DataOutputStream dos = new DataOutputStream(fos);
    for(int i=0; i<list.size(); i++)
    {
    dos.writeUTF(list.get(i));
    dos.flush();
    }
    dos.close();
    }catch(IOException e){
    e.printStackTrace();
    }
    }
    }勉强写了个。。楼主对照改改吧,
      

  4.   


    public void write(String content,int position){}
    try {
        RandomAccessFile randomFile = new RandomAccessFile(fileName, "rw");
        randomFile.seek(position);//知道白马在哪个位置,传进来就可以了
        randomFile.writeBytes(content);//content是要更改的内容
        randomFile.close();
        } catch (IOException e) {
            e.printStackTrace();
    }
      

  5.   


    import java.io.BufferedReader;
    import java.io.BufferedWriter;
    import java.io.FileReader;
    import java.io.FileWriter;
    import java.io.IOException;
    import java.util.ArrayList;
    import java.util.List;public class Test { public static void main(String[] args) throws IOException {
    List<String> list = new ArrayList<String>();
    BufferedReader br = new BufferedReader(new FileReader("ddd.txt"));
    String line = null;
    while((line=br.readLine())!=null){
    if("马是白马".equals(line))
    line="马不一定是白马";
    list.add(line);
    }
    br.close();
    BufferedWriter bw = new BufferedWriter(new FileWriter("ddd.txt"));
    for(String str : list){
    bw.write(str);
    bw.newLine();
    bw.flush();
    }
    bw.close();
    }}
      

  6.   

    import java.nio.file.Files;
    import java.nio.file.Path;
    import java.nio.file.Paths;
    import java.nio.file.StandardOpenOption;
    import java.nio.charset.Charset;
    import java.util.List;public class DDD {
        public static void main(final java.lang.String[] args) {
            try {
                Path path = Paths.get("D:/Temp/Examples", "ddd.txt");
                Charset charset = Charset.forName("UTF-8");
                List<String> lines = Files.readAllLines(path, charset);
                lines.set(1, "马不一定是白马");
                Files.write(path, lines, charset, StandardOpenOption.WRITE);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }ddd.txt 保存成UTF-8了。根据实际情况修改编码方式。
      

  7.   

    感慨一下,要是用Perl来写这得多方便啊~~