这是我在网上看到的一个例子代码,用途是处理特殊字符,但是,我用的时候发现第8行会出错,第三个双引号会引住后面的语句 |
|
sb.append(“””);双引号要转义,可以用处理JSON的jar,比如GSON这些
|
|
我知道应该要转义,可是例子里面就没有,我就想问问他怎么实现的 |
|
20分 |
例子里没有,不代表这个例子就编译成功并运行了,没有必要纠结于这些东西,了解他的思路就可以了 |
第10行的错误该如何解决 |
|
20分 |
package test; import java.io.File; import java.io.IOException; import org.apache.commons.io.FileUtils; import com.google.common.io.Resources; public class Test { public static void main(String[] args) throws IOException { String str = FileUtils.readFileToString(new File(Resources.getResource("a.txt").getFile())); System.out.println(string2Json(str)); } static String string2Json(String s) { StringBuilder sb = new StringBuilder(s.length() + 20); sb.append("""""); for (int i = 0; i < s.length(); i++) { char c = s.charAt(i); switch (c) { case """"": sb.append("\""); break; case ""\"": sb.append("\\"); break; case ""/"": sb.append("\/"); break; case ""\b"": sb.append("\b"); break; case ""\f"": sb.append("\f"); break; case ""\n"": sb.append("\n"); break; case ""\r"": sb.append("\r"); break; case ""\t"": sb.append("\t"); break; default: sb.append(c); } } sb.append("""""); return sb.toString(); } } a.txt内容 你找的代码是错误的。 |