2016-12-10 34 views
0

有什么方法可以将字符串附加到StringBuilder对象中特定行的末尾吗? 下面是一个例子输出:Java StringBuilder附加到特定行

Test 
X15 = 3 
X18 = 6 
X21 = 2 
... 
... 

我希望能够添加一个字符串,比方说含有X21行,因此输出将是:

Test 
X15 = 3 
X18 = 6 
X21 = 2 This is a test 
... 
... 

有什么想法?

+0

您将需要告诉我们你已经尝试了什么。 –

+1

这不是真的如何“追加”的作品。您可以用新内容替换该行 –

+0

@ cricket_007 StringBuilder.replace()需要索引开始和结束,如何在不知道索引的情况下替换行?除非有办法可以找到X21出现的位置。 – Matrix21

回答

0

这不是一个简单的方法。有一件事你必须知道,它是StringBuilder不是数组的字符串。它是一个char数组的字符串,但与String的区别在于它是动态的。

当你追加一个字符串“XX”时,你的StringBuilder变成了“XX”。如果你添加另一个字符串让我们说“PP”,你的StringBuilder变成“XXPP”。所以这不是一个简单的方法来追加某些特定的东西。我认为我很了解你的问题。

为了完成它,一件事由创建的StringBuilder的一个ArrayList,这样,看到波纹管:

List<StringBuilder> allString = new ArrayList<>(); 
//for line 1 
allString.add(new StringBuiler()); 
//for line 2 
allString.add(new StringBuiler()); 

现在,如果你想添加一些特定的线,你就必须做到:

allString.get(0).append("X21"); 
allString.get(0).append(" TEST"); 
//line 1 become X21 TEST 

为了显示您的所有文本,您只需迭代您的List并将StringBuilder打印到控制台或其他流程。

我希望我能帮到你。

干杯