我正在尝试读取文本文件,逐行并连接行以创建单个字符串。但在创建统一字符串时,每行后面都会添加0A
。字符串本身只是一行,我在正常的文本/ Java编辑器中看不到0A
,但是当我在十六进制编辑器中打开它时,每行后面都可以看到'0A'。我正在开发一个Linux(Ubuntu)平台。如何从字符串中删除'0A'?
我曾尝试一切可能的事情删除它们,特别是Java How to remove carriage return (HEX 0A) from String?
但我不能将其删除。有关如何做到这一点的任何想法?
UPDATE:
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)
在另一个问题的食谱应该工作。如果没有,请提供一个小的可运行的测试用例,说明哪些方法不适合您以及以何种方式工作。 – NPE
如果您使用'BufferedReader.readLine()',它们将被删除。你如何阅读文件? –
@PeterLawrey:只能用'BufferedReader.readLine()'读取它。 – Bhushan