这是我的代码无效:
try
{
while ((line1 = br.readLine()).substring(6).equals(name))
{
text = text + line1;
//text = text + '\n';
}
}
catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
我要做的是从文本文件中读取文本:
Name: Thailand.jpg.
Brief: This is Pattaya
Info: Nice city you know
Name: Austria.jpg
Brief: This is Austria
Info: Schwarzenegger was born here
现在我只想设置"这是奥地利"文本。但不能。
谢谢!
答案 0 :(得分:0)
首先,我不确定你打算在这做什么。 @Rod_Algonquin也问了我的问题。you only want to get the string "This is Austria" from the file?
,但你没有对此提出任何评论。
假设你要做类似的事情,你可以尝试如下。
try {
BufferedReader br=new BufferedReader(
new FileReader(new File("/home/ruchira/Test.txt")));
String line;
String text = "";
try {
while ((line=br.readLine())!=null){
if(line.contains("Austria.jpg")){
String line1=br.readLine();
if(line1!=null){
text=text+line1.split(": ")[1];
}
}
}
System.out.println(text);
} catch (IOException e) {
e.printStackTrace();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
答案 1 :(得分:0)
你的子串索引是错误的。请重新计算一下。此外,您还必须检查空指针条件。你应该在循环条件下改变你:
try
{
while((line1=br.readLine())!=null && line1.substring(8).equals(name))
{
text = text + line1;
//text = text + '\n';
}
}
catch (FileNotFoundException e)
{
e.printStackTrace();
}
catch (IOException e)
{
e.printStackTrace();
}
在计算索引时,还应考虑使用空格。因此,您所需的子字符串索引变为8而不是6。