java - 读取文件并添加额外的 "\"

标签 java string file-io split special-characters

我正在从文本文件中读取一些数据。有些数据可能有一个我想保留的字体“\”。我遇到的问题是,当我将这些数据存储在字符串中时,var java 在前面添加了另一个“\”,我猜这是因为“\”是 String 中的特殊字符。 Java是否可以不加额外的“\”来存储数据

String line;
br = new BufferedReader(new FileReader(f));
while((line = br.readLine()) != null)
 {
 String[] arrLineElements = line.split(":");
 if(arrLineElements.length<=1)
  logWriter.write("Error in line:"+line+". Need at least 2 elements. Skipping line.");
 if(arrLineElements.length==2)
 {
  Dn dn = new Dn(arrLineElements[0], "", false, arrLineElements[1], "", false, "", false);
  dnList.add(dn);
 }
}

文本文件中的数据采用以下格式:

\+441506441111:\+441506442222

3333:4444

运行 java 代码后,数据将存储在 dn 对象中

\\+441506441111:\\+441506442222

3333:4444

无论如何要改变它吗?

谢谢

最佳答案

java adds another "\" in front which i guess is because "\" is a special character in String

这是一个转义序列,是的。

我不明白为什么你需要在字符串本身内部更改它?您可以使用该字符串。 即在

中使用它
System.out.println("\\+441506441111:\\+441506442222"); 

它将打印出单个 .

你只需要在任何你想要的地方使用这个字符串

关于java - 读取文件并添加额外的 "\",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17675136/

相关文章:

python - 两个单词列表的概率分布

C++ 文件无法打开

java - 删除空文件夹算法

java - 带有用于保持计数排序的索引的 PriorityQueue

c++ - 如何在 C++ 中将 getline() 拆分为数组

android - 在 ListView 中创建数组

linux - 阅读全文 Linux Bash 文件

C 文件处理和记事本中的行尾字符

java - 为什么 HashMap 在达到不需要的 TREEIFY_THRESHOLD 值时会调整大小?

java - java中不使用定时器,仅在时间到时才执行方法