我正在使用以下代码将文本文件内容加载到gui:
try {
BufferedReader br = new BufferedReader(new FileReader ("text.txt"));
String line;
while ((line = br.readLine()) != null) {
if (line.contains("TITLE")) {
jTextField2.setText(line.substring(11, 59));
}
}
in.close();
} catch (Exception e) {
}
然后text.txt文件的内容:
JOURNAL journal name A12340001
TITLE Sound, mobility and landscapes of exhibition: radio-guided A12340002
tours at the Science Museum A12340003
AUTHOR authors name A12340004
在 jTextField2
我得到这句话:“声音,流动性和景观的展览:无线电引导”。问题是我不知道怎么去 jTextField2
下一行是“科学博物馆之旅”。
我想问一下我怎样才能把这两条线都接通 jTextField2
i、 e.“展览的声音、流动性和景观:科学博物馆的无线电导游”?
事先谢谢你的帮助。
4条答案
按热度按时间9rnv2umw1#
如果您使用的是java 8,并且假设列具有固定数量的字符,则可以如下所示:
第一列是键。如果密钥不存在,则使用最后一个密钥。一
Map
用于存储键和值。当键已经存在时,通过串联将该值与现有值合并。此代码输出预期的字符串:
Sound, mobility and landscapes of exhibition: radio-guidedtours at the Science Museum
.编辑:对于java 7
3xiyfsfu2#
为什么不创建一个
MyFile
类,将键值对存储在Map<String, String>
,然后可以访问。这将使您的代码更易于阅读和维护。如下所示:
这将首先解析整个文件。文件的预期格式为:
这允许使用可变长度的键。
允许您单独处理异常,然后方便地引用文件的内容,如下所示:
yhuiod9q3#
第一列为空(所有空格)表示一行是前一行的延续。因此,您可以缓冲这些行并重复连接它们,直到得到一个非空的第一列,然后写入/打印整行。
nlejzf6q4#
首先可以将整个文件读入字符串对象。然后得到标题和作者的索引
int start=str.indexOf("TITLE"); and int end=str.indexOf("AUTHOR");
然后将标题的长度添加到起始索引中start+="TITLE".length();
从结束索引中减去作者的长度end-="AUTHOR".length();
最后你有了你想要的文本的开始和结束索引。所以把文字写得像。