gpt4 book ai didi

Java Apache FileUtils readFileToString 和 writeStringToFile 问题

转载 作者:搜寻专家 更新时间:2023-11-01 02:53:02 24 4
gpt4 key购买 nike

我需要将一个 java 文件(实际上是一个 .pdf)解析为一个字符串并返回到一个文件。在这些过程之间,我将对给定的字符串应用一些补丁,但在这种情况下这并不重要。我开发了以下 JUnit 测试用例:

    String f1String=FileUtils.readFileToString(f1);
File temp=File.createTempFile("deleteme", "deleteme");
FileUtils.writeStringToFile(temp, f1String);
assertTrue(FileUtils.contentEquals(f1, temp));

此测试将文件转换为字符串并将其写回。但是测试失败了。我认为这可能是因为编码,但在 FileUtils 中没有关于此的详细信息。任何人都可以帮忙吗?谢谢!

为进一步理解添加:为什么我需要这个?我在一台机器上有非常大的 pdf,在另一台机器上复制。第一个负责创建这些 pdf。由于第二台机器的低连接性和 pdf 的大尺寸,我不想同步整个 pdf,而只想同步已完成的更改。要创建补丁/应用它们,我使用的是谷歌库 DiffMatchPatch。该库在两个字符串之间创建补丁。所以我需要将 pdf 加载到字符串,应用生成的补丁,然后将其放回文件。

最佳答案

PDF 不是文本文件。非编码文本的二进制文件的解码(转换为 Java 字符)和重新编码是不对称的。例如,如果输入字节流对于当前编码无效,您可以确信它不会正确重新编码。简而言之——不要那样做。使用 readFileToByteArray and writeByteArrayToFile相反。

关于Java Apache FileUtils readFileToString 和 writeStringToFile 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7502825/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com