将文本附加到文件中每行的开头

时间:2016-11-27 22:48:54

标签: java

请注意,这是一项家庭作业。

有人可以帮我弄清楚如何将文本附加到文本文件的每一行的开头吗?这就是我到目前为止所做的:

package addStr;
import java.util.*;
import java.io.*;

public class AddStr {
    public static void main(String args[]) throws FileNotFoundException, IOException{
        Scanner con = new Scanner(System.in);

        System.out.print("Enter input file: ");
            String fileIn = con.next();
        System.out.print("Enter output file: ");
            String fileOut = con.next();

        File in = new File(fileIn);
        Scanner sc = new Scanner(in);
        FileWriter out = new FileWriter(in, true);
        PrintWriter print = new PrintWriter(out);


        print.print("hello");


        print.close();
    }

}

我只打印“hello”作为测试,以查看它将附加到文件中的哪个位置。它附加在最后一行的末尾。我需要将它附加到第一行的开头,然后使用循环将其附加到每个后续行的开头。

此外,程序会提示用户输入文件名。

1 个答案:

答案 0 :(得分:1)

更改文件内容的最简单方法是打开它进行读取,将其读入结构,重新打开文件进行写入,然后从结构写回文件。除非文件很大,否则性能将完全可以接受。

如果您使用的是Java 8,那么这可能非常简单。假设您对文件有Path

List<String> lines = Files.lines(path).map(s -> "Prefix" + s).collect(Collectors.toList());
Files.write(path, lines);