- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我需要将一个 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/
我正在用java编写一个程序来导入用户输入的文本文件,使用两个关键字对其进行加密,并将输出写入一个新的文本文件。 我正在使用 FileUtils.readFileToString() 将文本文件读入字
我是 Android 应用开发的新手。目前,我正在尝试获取 Android 下载文件夹路径并将其记录下来。为此,我使用了 commons io 库。我有这段代码: File folder =
我需要将一个 java 文件(实际上是一个 .pdf)解析为一个字符串并返回到一个文件。在这些过程之间,我将对给定的字符串应用一些补丁,但在这种情况下这并不重要。我开发了以下 JUnit 测试用例:
我正在尝试在 Windows 7 上使用 org.apache.commons.io 版本 2.4 将文件读取为字符串。 String protocol = url.getProtocol();
我的程序迭代一个目录,并使用我的 Recoder 类中的以下函数,在编码上使用 FileUtils.readFileToString 读取文件,并使用 FileUtils.write 覆盖它 另一种编
我是一名优秀的程序员,十分优秀!