我正在尝试逐行读取文本文件并将这些行连接起来以创建单个字符串。但是在创建统一字符串时,0A
会在每行之后添加。字符串本身只有一行,我0A
在普通文本/Java 编辑器中看不到,但是当我在十六进制编辑器中打开它时,我可以在每一行之后看到“0A”。我正在使用 Linux (Ubuntu) 平台。
我已经尝试了所有可能的方法来删除它们,特别是Java 如何从字符串中删除回车符(HEX 0A)?
但我无法删除它们。关于如何做到这一点的任何想法?
更新:
File workingFolderLocal = new File("src/test/resources/testdata");
String expected = "String1";
MyClass myClass = new MyClass();
myClass.createPopFile(workingFolderLocal);
// Read the created file and compare with expected output
FileInputStream fin = new FileInputStream(workingFolderLocal + "/output.xyz");
BufferedReader myInput = new BufferedReader(new InputStreamReader(fin));
StringBuilder actual = new StringBuilder("");
String temp = "";
while ((temp = myInput.readLine()) != null) {
String newTemp = temp.replaceAll("\r", "");
actual.append(newTemp);
}
System.out.println("actual: " + actual.toString());
myInput.close();
Assert.assertEquals(expected, actual);
这是我得到的输出/错误:
actual: String1
FAILED: testCreatPopFile
junit.framework.AssertionFailedError: expected:<String1> but was:<String1>
at junit.framework.Assert.fail(Assert.java:47)
at junit.framework.Assert.failNotEquals(Assert.java:277)
at junit.framework.Assert.assertEquals(Assert.java:64)
at junit.framework.Assert.assertEquals(Assert.java:71)