JAVA 创建FILE怎么指定其编码方式?

File file=new File("D:\CreateNewFolder\1.txt");
怎么设置1.txt的编码方式!
Eclipse可以设置,电脑也可以设置1.txt的文件格式,但是为了程序的可移植性,怎么在写程序的时候就指定生成文件的编码格式解决乱码问题。

File file = new File("c:\a.test");
Writer writer = new OutputStreamWriter(new FileOutputStream(file), "UTF-8");
writer.write("中文测试");
writer.close();

看看这篇文章,3种向文件写入数据的方式(包括指定编码的):
http://blog.csdn.net/wgw335363240/article/details/5678965

我们电脑是默认是GBK,先改成UTF-8

你往文件中写入数据是可以指定编码的,不过一个中文gbk编码2个字节,utf-8编码3-4个字节,如果默认用gbk解码的话,utf-8编码会失字节,utf-8是变长字节的

获取字符编码不是文本文件的固有属性。文件会维护创建时间,修改时间、文件大小等元信息。至于编码不是文件固有的信息。
因为我创建了一个GBK编码的文件,使用VSCode打开,乱码,因为VSCode默认使用utf-8解码文本文件。使用IDEA打开文件,它比较只能,可以根据你文件的内容推断你使用的编码,从而选择合适的编码解码文件。我们创建文件时,选择文件的编码类型,其用途只是把我们输入的文本,编码成对应编码的二进制而已

img