在我的应用程序中,我使用JTextPane
来显示一些日志信息。因为我想突出显示文本中的某些特定行(例如错误消息),所以将设置contentType
为“
text/html
”。这样,我可以设置文本格式。
现在,我创建一个JButton,将其内容复制JTextPane
到剪贴板中。这部分很简单,但是我的问题是,当我调用时myTextPane.getText()
,我得到了HTML代码,例如:
<html>
<head>
</head>
<body>
blabla<br>
<font color="#FFCC66"><b>foobar</b></font><br>
blabla
</body>
</html>
而不是只获取原始内容:
blabla
foobar
blabla
有没有办法只获取JTextPane
纯文本格式的内容?还是我需要自己将HTML转换为原始文本?
基于以下问题的公认答案:从Java字符串中删除HTML
MyHtml2Text parser = new MyHtml2Text();
try {
parser.parse(new StringReader(myTextPane.getText()));
} catch (IOException ee) {
//handle exception
}
System.out.println(parser.getText());
Html2Text
我链接到的答案上找到的课程的稍作修改的版本
import java.io.IOException;
import javax.swing.text.html.*;
import javax.swing.text.html.parser.*;
public class MyHtml2Text extends HTMLEditorKit.ParserCallback {
StringBuffer s;
public MyHtml2Text() {}
public void parse(Reader in) throws IOException {
s = new StringBuffer();
ParserDelegator delegator = new ParserDelegator();
delegator.parse(in, this, Boolean.TRUE);
}
public void handleText(char[] text, int pos) {
s.append(text);
s.append("\n");
}
public String getText() {
return s.toString();
}
}
如果您需要更细粒度的处理,请考虑实施更多由定义的接口HTMLEditorKit.ParserCallback
问题内容: 我在相当基本的android开发水平上。 我想从诸如“ http://www.google.com”的页面获取文本。(我将使用的页面只有文本,因此没有图片或类似的东西)所以,要明确:我想将页面上的文本写入应用程序中的字符串等。 我尝试了这段代码,但是我什至不知道它是否能满足我的要求。 无论如何我都无法收到任何文字。我应该怎么做? 问题答案: 从您提供的示例代码中,您甚至没有读取请求的响
问题内容: 我正在尝试从文件夹中包含在项目中的原始文件获取。但是无论如何,我都会得到一个。 该文件是一个文件,也尝试过使用,也不起作用。使用DOES 播放两个文件都可以。 的回报: 我的代码: 错误: 问题答案: 尝试这种方法,用作您的inputStream。沿着这个地方: 返回一个InputStream 编辑:如果您使用上述方法,请删除这些代码 希望这有帮助,祝你好运!^^
问题内容: 有没有办法从获取原始/原始JSON值? 问题: 现在是,但是我需要原始字符串。 有没有办法获得这个原始价值?另外,我无法更改创建方式(例如更改设置),因为它作为参数传递给我的课程… (参考:原始的NJsonSchema问题) 问题答案: 您无法获取原始字符串,无法识别日期字符串并将其转换为自身内部的结构。如果您这样做,则可以看到以下内容: 但是,您可以通过执行以下操作以ISO 8601
问题内容: 我在视图中有一个附加的项目清单: 我正在处理指令中函数中的click事件,将其作为对被单击对象的引用,但是我得到的是对标签的引用,而不是对标签的引用。然后,我必须做这样的事情才能得到: 有没有一种简单的方法可以获取对绑定元素的引用,而无需在我的指令中执行DOM操作? 问题答案: 您需要代替。
问题内容: 我是ANTLR初学者,想计算符号的SHA1-哈希值。 我的简化示例语法: 当词法分析器删除所有空白时,将使用不同的字符串,但是不幸的是,获得了相同的SHA1-Hash值。 是否有可能在所有跳过的空格和其他通道的文本之间获得规则的“原始”文本? (我想到的一种可能性是将所有字符都包含在-和-lexer规则中,但是还有更多规则,因此这不是很实用。) 我使用标准的ANTLRInputStre
问题内容: 我正在尝试在Android Studio的res \ raw文件中保留一个.txt文件,并读取/解析该文件。我在“ res”目录(未创建)中创建的名为“ raw”的文件夹中有一个文件“ my_file.txt”。 我认为我的主要问题是:创建File对象(与Scanner对象一起使用)时,应该为文本文件传递什么路径? 这是我的代码: 问题答案: 认为您正在寻找符合以下条件的东西 其中ct