【问题标题】:How to add text at second last line in text file using java如何使用java在文本文件的倒数第二行添加文本
【发布时间】:2015-04-15 10:02:15
【问题描述】:

我有一个包含多行的文本文件。我需要动态编辑这个文本文件。但我想在文本文件的倒数第二行添加动态文本。

class FileAppending 
{
    public static void main(String args[]) {

        try{

            OutputStreamWriter writer = new OutputStreamWriter(
                  new FileOutputStream("file path\\x.txt", true), "UTF-8");
            int lines = 0;
            while (br.readLine != 0){
                lines++; // by this i'll get exact line number
            }
            BufferedWriter fbw = new BufferedWriter(writer);
            fbw.write("append txt...");
            fbw.newLine();
            fbw.close();
        }catch (Exception e) {
            System.out.println("Error: " + e.getMessage());
        }
    }
}

现在我需要一些东西来帮助我在倒数第二行添加文本,因为我有总行数

【问题讨论】:

    标签: java


    【解决方案1】:

    你可以这样做

        List<String> list = Files.readAllLines(Paths.get("path"));
        list.add(list.size() - 1, "text");
        Files.write(Paths.get("path"), list);
    

    【讨论】:

    • 我收到一个错误,因为在此行 'List list = Files.readAllLines(Paths.get("path"));' 处出现 'type List does not take parameters'。你能建议...!!!
    • 您是在导入 java.awt.List 而不是 java.util.List 吗?见:stackoverflow.com/questions/22955621/…
    • @Rakesh 适用于 1.7+
    • 感谢您及时回复 Guyz...现在我在 'List list = Files.readAllLines(Paths.get("path"));' 处遇到错误和原因为“实际和正式的论据列表长度不同”。它提示我输入要输入的字符集(默认情况下它为 null) like = 'List list = Files.readAllLines(Paths.get("path"),null);'
    • @RakeshPrajapati 自 1.8 以来就存在仅带有路径参数的调用(您使用什么 java 版本?)。 if
    猜你喜欢
    • 2018-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多