【发布时间】:2017-02-28 07:23:06
【问题描述】:
我正在读取一个 txt 文件,然后将其转换为一个字符串。 我在根据包含“\n”的字符串检查剪贴板内容时遇到问题。如果剪贴板内容中包含换行符,则不会检查是否与字符串内容匹配。假设我复制以下内容: “你好 那里” 这并不等同于字符串中已有的相同内容。代码如下。 是否可以正确检查?如果有怎么办?如果没有,我可以检查文本文件,同时仍然确保我保留格式,因为需要 \n 来保留格式以供以后使用。
BufferedReader clipboardStorageReader = new BufferedReader(clipboardStorageFile);
String clipboardStorageResponses = new String();
try {
for (String line; (line = clipboardStorageReader.readLine()) != null;){
if(line.contains(",,,")){
clipboardStorageResponses += line;
}else {
clipboardStorageResponses += line + "\n";
}
}
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
System.out.println(clipboardStorageResponses);
if (clipboardStorageResponses.contains(result)) {
System.out.println("Fail");
}
我正在制作一个程序,该程序至少可以保存我复制的最后 50 件东西,以供以后使用。显示这是一个 JScrollPane,因此我可以剪辑一个 GUI 以将其放回剪贴板上。只是试图避免任何重复。
【问题讨论】:
-
用你的调试器逐步完成这个,找出从
clipboardStorageFile返回的确切的String,然后修改你的代码来检查。 -
创建一个简单的文本组件,例如 jtextField 并设置剪贴板内容,然后进行 comparison
-
出于某种愚蠢的原因,在 .replace 上完全忽略了海峰的回答。