テキストファイルを1行ずつ読み取り、行を連結して1つの文字列を作成しようとしています。しかし、その統一された文字列を作成している間、0A
各行の後に追加されています。文字列自体は1行で0A
、通常のテキスト/ Javaエディタでは表示されませんが、16進エディタで開くと、各行の後に「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)