java中新建的properties文件保存后中文第一行变成乱码,\换行符也没用了
java中新建的properties文件,编码格式为UTF-8,全是一些中文属性,保存后再打开所有属性的第一行就全变成乱码了,[001]???,[002]??,而且每行后...
java中新建的properties文件,编码格式为UTF-8,全是一些中文属性,保存后再打开所有属性的第一行就全变成乱码了,[001]???,[002]??,而且每行后面跟着的“\”换行符也没用了,
展开
4个回答
展开全部
从java6开始properties文件已经可以直接使用UTF-8编码了,也就是说不用特别写成\uXXXX 这种形式在用native2ascii转换了。
楼主碰到的问题,很可能是在IDE(Eclipse,Netbeans等)中使用了默认的properties专用的编辑器吧?解决的办法是在IDE中设置不使用默认的properties专用的编辑器打开,或者直接用文本编辑器(比如Notepad++等)编辑并保存。使用的时候可以直接指定用utf8编码读取。
import java.io.*;
import java.util.Properties;
public class PropertiesWithUtf8 {
static Properties loadUtf8Properties(String resourceName) throws IOException {
try (InputStream is = PropertiesWithUtf8.class.getResourceAsStream(resourceName);
InputStreamReader isr = new InputStreamReader(is, "UTF-8");
BufferedReader reader = new BufferedReader(isr)) {
Properties result = new Properties();
result.load(reader);
return result;
}
}
public static void main(String[] args) throws IOException {
Properties prop = loadUtf8Properties("/utf8.properties");
System.out.println(prop.getProperty("key1"));
}
}
PS:上面用到了try-with-resources,需要java7以上才可以编译通过。
展开全部
java 自带的properties只能用\uXXXX 这种形式表示 很不方便
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你试试别的格式。你可能用别的格式存的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可能和你的文本编辑器的编码方式有关
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询