**已关闭。**此问题不可复制或由打字错误引起。它目前不接受答案。
**想要改进此问题?**更新问题,使其位于堆栈溢出主题上。
两天前关门了。
改进这个问题
我正在制作一个程序,我基本上使用fileoutputstream将数据写入.txt文件,然后使用fileinputstream检索它,我有一个名为“readdatafile”的方法,它使用fileinputstream获取先前保存的字符,解密它们(在写入.txt时进行了非常基本的加密),然后返回一个字符字符串。然后,我有了一个方法,该方法应该接受该字符串,并将每个单词放在新行上,然后再通过jtextarea将其设置为在ui中显示。
String data = readDataFile(dataFile);
for(int i = 0; i < data.length()-1; i++){
char c = data.charAt(i);
if(c == (char) 0){
data = data.substring(0, i+1) + "\n" + data.substring(i+2);
System.out.println("Char is space");
}
}
output2.setText(data);
这就是方法中的内容,出于某种原因,它不会在末尾拆分字符串。output2 witch是一个jtextarea,设置为“www”,空格中带有问号。“char is space”行从未运行过,所以它与if语句有关,但我不确定是什么。如果有人能帮忙,那太好了,谢谢!
1条答案
按热度按时间ygya80vv1#
你在试图比较
if(c == (char) 0)
这永远不会是真的,而且子字符串将丢失空格后的第一个字符,所以你必须这样做data = data.substring(0, i+1) + "\n" + data.substring(i+1);
而不是data = data.substring(0, i+1) + "\n" + data.substring(i+2);
```String data = "Stack Overflow";
for(int i = 0; i < data.length()-1; i++){
char c = data.charAt(i);