【发布时间】:2017-02-08 12:26:03
【问题描述】:
此代码应获取绝对路径,附加首选项文件中的字符串,然后附加“.json”以匹配必要的文件。我尝试使用“+”来连接字符串,但它给出的输出与 StringBuilder.append()
StringBuilder pt= new StringBuilder(path);
pt.append(System.getProperty("file.separator"));
pt.append("lib");
pt.append(System.getProperty("file.separator"));
pt.append("ling");
pt.append(System.getProperty("file.separator"));
String lingua =PrefManager.getPref("lingua")+("=");
System.out.println(lingua);
pt.append(lingua);
System.out.println("com extensão"+pt.toString());
String file = pt.toString();
System.out.println(file);
System.out.println(file);
Object obj = parser.parse(new FileReader(file));
这是我的控制台输出:
=t-br
=om extensão/home/mateus/BrinoBuildScript/Filesx64/lib/ling/pt-br
=home/mateus/BrinoBuildScript/Filesx64/lib/ling/pt-br
=home/mateus/BrinoBuildScript/Filesx64/lib/ling/pt-br
java.io.FileNotFoundException: /home/mateus/BrinoBuildScript/Filesx64/lib/ling/p= (No such file or directory)
一个变量怎么能有三个不同的输出到控制台?我应该怎么做才能解决这个问题?
【问题讨论】:
-
为什么会有三种不同的输出?您期望哪种输出?
-
输出是相同的,除了您在该变量的第一个输出中预先设置的“com extensão”文本...
-
另外你从来没有附加 .json 或者你期望什么?
-
我没有得到你的输出,
com extensão像=om extensão一样打印(就像每一行一样),然后在lingua中,最后一个字符 (=) 消失。但对于其余的,对我来说似乎没问题(从我阅读的代码中) -
Mateus,如果您允许,请避免使用带有葡萄牙语特殊字符的文件和文件夹,例如 ão、í、ç 等等。与名称包含空格的文件和文件夹相同......这只会给我们,开发人员带来麻烦。请试试这个并说出会发生什么。然而:也不要在 var 名称、函数名称、类和方法中使用这些字符。来自巴西的问候。
标签: java string concatenation string-concatenation