关于eclipse:Java:将文本文件内容复制到另一个而不替换

Java: Copy textfile content to another without replacing

我想获取用户选择的一个文本文件的内容,并将其添加到另一个文本文件中,而不替换当前内容。例如:

更新:如何以编号方式将其添加到第二个文件中?

文本文件1:

AAA BBB CCC

AAA BBB CCC

文本文件2:(复制后)

  • EFFFGGG

  • AAA BBB CCC

  • AAA BBB CCC

  • 更新:我不得不删除我的代码,因为它可能被认为是剽窃,这是回答,所以我知道该怎么做,谢谢大家帮助我。


    试试这个你必须使用

    1
    new FileWriter(fileName,append);

    这将以附加模式打开文件:

    据JavaDoc说

    参数:文件名字符串依赖于系统的文件名。

    附加布尔值如果为真,则数据将写入文件的结尾而不是开头。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    public static void main(String[] args) {
        FileReader Read = null;
        FileWriter Import = null;
        try {
            Scanner scanner = new Scanner(System.in);
            System.out.print("Enter a file name:");
            System.out.flush();
            String filename = scanner.nextLine();
            File file = new File(filename);
            Read = new FileReader(filename);
            Import = new FileWriter("songstuff.txt",true);
            int Rip = Read.read();

            while(Rip!=-1) {
                Import.write(Rip);
                Rip = Read.read();
            }


        } catch(IOException e) {
            e.printStackTrace();
        } finally {
            close(Read);
            close(Import);
        }
    }


    public static void close(Closeable stream) {
        try {
            if (stream != null) {
                stream.close();
            }
        } catch(IOException e) {
           // JavaProgram();
        }
    }

    您可以使用Apache Commons IO。

    阿帕奇公地IO

    例子:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    import java.io.File;
    import java.io.IOException;
    import java.net.URI;
    import java.net.URISyntaxException;

    import org.apache.commons.io.FileUtils;

    public class HelpTest {

        public static void main(String args[]) throws IOException, URISyntaxException {

            String inputFilename ="test.txt"; // get from the user

            //Im loading file from project
            //You might load from somewhere else...
            URI uri = HelpTest.class.getResource("/" + inputFilename).toURI();
            String fileString = FileUtils.readFileToString(new File(uri));

            // output file
            File outputFile = new File("C:\\test.txt");
            FileUtils.write(outputFile, fileString, true);
        }
    }


    使用new FileWriter("songstuff.txt", true);追加到文件,而不是覆盖它。

    参考:文件编写器


    打开进行写入的文件通道可能处于追加模式。http://docs.oracle.com/javase/6/docs/api/java/nio/channels/filechannel.html

    还可以看看……http://DOCS.Oracle .COM/JavaSe/ 6 /DOCS/API/Java/IO/FielOutStudio.html HTML文件输出流(JavaIO.Frm,BooLeIn)


    追加文件

    为给定的文件对象构造FileWriter对象。如果第二个参数为真,那么字节将写入文件的结尾而不是开头。

    1
    new FileWriter(fileName,true);