有没有办法让程序将文本文件中的"n"识别为换行符代码?



我已经用Java创建游戏一段时间了,我曾经直接在我的代码中编写所有游戏内的文本,如下所示:

String text001 = "You're in the castle.nnWhere do you go next?"

但是最近我决定将所有游戏中的文本写在一个文本文件中,并尝试让程序读取它们并将它们放入 String 数组中,因为文本的数量增加了很多,这使得我的代码非常长。阅读进行得很顺利,除了一件事。我在对话框中插入了换行符代码,尽管当我直接在代码中编写代码时代码可以正常工作,但当我尝试从文本文件中读取它们时,它们不再被识别为换行符代码。

它应该显示为:

You're in the castle.
Where do you go next?

但现在它显示为:

You're in the castle.nnWhere do you go next?

代码不再将""识别为换行符代码。

这是代码:

import java.io.File;
import java.util.Scanner;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) {
new Main();
}
public Main() {
Scanner sc;
StringTokenizer token;
String line;
int lineNumber = 1;
String id[] = new String[100];
String text[] = new String[100];
try {
sc = new Scanner(new File("sample.txt"));
while ((line = sc.nextLine()) != null) {
token = new StringTokenizer(line, "|");
while (token.hasMoreTokens()) {
id[lineNumber] = token.nextToken();
text[lineNumber] = token.nextToken();
lineNumber++;
}
}
} catch (Exception e) {
}
System.out.println(text[1]);
String text001 = "You're in the castle.nnWhere do you go next?";
System.out.println(text001);
}
}

这是文本文件的内容:

castle|You're in the castle.nnWhere do you go next?
inn|You're in the inn. nnWhere do you go next?

如果有人告诉我如何解决这个问题,我将不胜感激。谢谢。

只需使用

text[lineNumber] = token.nextToken().replace("\n", "n");

文本文件中的n本身并没有什么特别之处。它只是一个,然后是一个n

只有在Java(或其他语言(中定义了这个字符序列 - 在字符或字符串文字中 - 应该解释为0x0a(ASCII换行符(字符。

因此,您可以将字符序列替换为您希望将其解释为的字符序列。

最新更新