我试着比较这个. txt
USER bonb Bird
USER colc Colin Cook
EVENT alea Class ULE 11/11/2011 9:00 11/11/2011 13:00
EVENT alea Meeting MIC 11/11/2011 13:00 11/11/2011 14:00
EVENT alea Lunch Cafeteria 11/11/2011 14:00 11/11/2011 15:00
EVENT bonb Class ULE 11/11/2011 15:00 11/11/2011 19:00
EVENT bonb Meeting Library 11/11/2011 13:00 11/11/2011 14:00
在我的班级档案里。java我使用此方法将txt的内容转换为字符串。
public String readElements() throws FileException {
FileReader fr = null;
BufferedReader br = null;
StringBuilder line = new StringBuilder();
String lineAux = "";
logger.info("Reads an element of the file: " + this.fileName);
try {
fr = new FileReader(this.fileName);
br = new BufferedReader(fr);
lineAux = br.readLine();
while (lineAux != null) {
line.append(lineAux + System.getProperty("line.separator"));
lineAux = br.readLine();
}
} catch (IOException e) {
logger.warn("File Error: Can´t open the file: " + this.fileName);
throw new FileException("File Error: Can´t open the file " + this.fileName);
} finally {
try {
if (null != fr) {
fr.close();
}
} catch (IOException e) {
logger.warn("File error: Can´t open the file: " + this.fileName);
throw new FileException("File error: Can´t open the file: " + this.fileName);
}
}
return line.toString();
}
我使用这个测试来尝试文件。Java TestReadElements将该String与文件内容进行比较。当我在eclipse中使用JUnit或在Linux终端中使用build.xml时,测试失败。
@Before
public void setUp() throws Exception {
this.fileName = "./etc/test/rightCalendar.txt";
this.file = new File(this.fileName);
}
@Test
public void testReadElements() throws FileException {
assertEquals("USER alea Alex Archer\n" + "USER bonb Bonnie Bird\n" + "USER colc Colin Cook\n"
+ "EVENT alea Class ULE 11/11/2011 9:00 13:00\n" + "EVENT alea Meeting MIC 11/11/2011 13:00 14:00\n"
+ "EVENT alea Lunch Cafeteria 11/11/2011 14:00 15:00\n"
+ "EVENT bonb Class ULE 11/11/2011 15:00 19:00\n"
+ "EVENT bonb Meeting Library 11/11/2011 13:00 14:00\n", this.file.readElements());
}
我不知道问题在哪里(如果问题在build.xml或其他文件中)我已经改变了几个小时的小东西,我累了...这些是路径文件和对比结果显示是错误的
您正在显式地将从读取器读取的行与System.get属性("line.separator")
连接;您的屏幕截图表明您正在Windows上运行此操作(路径以C:\用户
开始),该操作使用\r\n
作为行分隔符。
预期字符串的行使用\n
作为行分隔符。
因此,字符串不相等,因为它们使用不同的行分隔符。
最好将事物保持为字符串列表,然后只比较列表(list.equals
对元素进行成对比较,因此实际上是一样的——只是没有对行分隔符的任何混淆)。
根据逻辑,我需要实现两个,如果它们以相同的“相对”顺序具有相同的元素,则它们被认为是相等的。 举个例子,以下一对列表被认为彼此相等: 只要遵守相对顺序,就可以认为它们是平等的。 作为反例,这两个不相等: 导致 和 交换到位。 所以,基本上我发现这很有挑战性,因为这不是顺序完全重要的情况,也不是顺序完全不重要的情况。在这种情况下,我会使用普通的< code>list1.equals(list2)方法
问题内容: 通过搜索发现了类似的问题,但我是一位新的(糟糕的)程序员,无法理解答案。 我有一个.txt文件,其中包含多个字符串,以’-‘分隔。我使用拆分将一些字符串分成变量,其中两个相等,但是在if语句中它们不相等。 这将产生以下结果: 瑞典 瑞典 没有 在两个“ Sweden”字符串之前和之后都有一个空格,并且它们都用大写字母“ S”编写,但不相等吗?我在哪里搞砸了? 问题答案: 最后一个元素包
我想排序2列表并比较它们,但排序方法不起作用。我有2个字符串列表,其中包括整数。 这些是我的名单 我的getwords方法返回:
我在JQuery的AJAX请求中发现了一个回显值的有趣问题,但我没有为它提供一个answare: 如果你需要更多的信息告诉我!我希望任何人都知道是什么导致了这个问题!
问题内容: 我想将多个字符串相互比较,并找到最相似的字符串。我想知道是否有任何库,方法或最佳实践会返回我哪些字符串与其他字符串更相似的字符串。例如: “The quick fox jumped” -> “The fox jumped” “The quick fox jumped” -> “The fox” 该比较将返回第一个比第二个更相似。 我想我需要一些方法,例如: 某处有这样的东西吗? 编辑:
标题可能有点难以理解,因为我不擅长总结事情,但我试图做的事情实际上非常简单(在任何其他语言中)。 我想测试赛贝斯表中的一些数据,特别是两列。这两列有冒号分隔的字符串——不幸的是,两列之间每个子字符串的位置不一样。是这样的: 第1栏 子字符串1:子字符串3:子字符串5 子字符串2:子字符串4:子字符串6 column_2 子字符串3:子字符串1:子字符串5 Substring6: substring