检查文件末尾是否存在新行

吉尔维斯特

我创建了一个简单的方法将文本追加到文件:

void writeFile(String fileName, String... values) {
    File file = new File(fileName);
    file.getParentFile().mkdirs();
    try(BufferedWriter bw = new BufferedWriter(new FileWriter(file, true))) {
        for (String value: values) {
            bw.write(value);
            bw.newLine();
        }
    } catch (IOException e) {
        e.printStackTrace();
    }
}

但是,我对于如何在写入之前检查文件末尾是否存在新行以确保其正确存储感到困惑。

同样,在处理较大文件时,它必须具有可伸缩性。

吉尔维斯特

感谢SMA链接到快速读取文本文件的最后一行?,我能够创建一种方法来检查是否存在新行,然后创建一个新行(如果不存在)。

void writeFile(String fileName, String... values) {
    File file = new File(fileName);
    file.getParentFile().mkdirs();
    boolean fileExists = file.exists();
    try (BufferedWriter bw = new BufferedWriter(new FileWriter(file, true))) {
        if (fileExists && !newLineExists(file)) {
            bw.newLine();
        }
        for (String value : values) {
            bw.write(value);
            bw.newLine();
        }
    } catch (IOException e) {
        e.printStackTrace();
    }
}

boolean newLineExists(File file) throws IOException {
    RandomAccessFile fileHandler = new RandomAccessFile(file, "r");
    long fileLength = fileHandler.length() - 1;
    if (fileLength < 0) {
        fileHandler.close();
        return true;
    }
    fileHandler.seek(fileLength);
    byte readByte = fileHandler.readByte();
    fileHandler.close();

    if (readByte == 0xA || readByte == 0xD) {
        return true;
    }
    return false;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

检查文件中的行是否存在

来自分类Dev

检查文件是否存在

来自分类Dev

在熊猫中添加新列以检查文件是否存在

来自分类Dev

检查文本文件是否在末尾

来自分类Dev

检查文件是否存在异步?

来自分类Dev

Javascript检查文件是否存在

来自分类Dev

批量检查文件是否存在

来自分类Dev

检查文件是否存在[BASH]

来自分类Dev

检查文件是否存在 [SH]

来自分类Dev

VBA:检查文件是否存在

来自分类Dev

检查行是否存在,Laravel

来自分类Dev

检查行是否存在SQLite

来自分类Dev

如何检查行是否存在

来自分类Dev

检查行是否存在值

来自分类Dev

检查文件是否存在,如果存在则返回

来自分类Dev

避免在文件末尾添加新行

来自分类Dev

删除文件末尾的空新行

来自分类Dev

检查行是否存在更新的更好方法,否则插入新记录

来自分类Dev

使用正则表达式检查是否存在新行

来自分类Dev

awk脚本来检查文件是否存在并合并文件中的行

来自分类Dev

Linux-检查文件末尾是否有空行

来自分类Dev

检查文件在Julia中是否存在

来自分类Dev

厨师食谱如何检查文件是否存在

来自分类Dev

检查JLD文件中是否存在变量

来自分类常见问题

检查Windows PowerShell中是否存在文件?

来自分类Dev

VBA检查文件(来自网站)是否存在

来自分类Dev

检查目标文件是否已经存在

来自分类Dev

Swift检查plist文件是否存在

来自分类Dev

如何检查Matlab中是否存在文件?