java修改html文件java写⼊⽂件编码格式为ansi_java中怎么获取、设置⽂件编码
格式?
public class OutputStreamWriterTest {
public static void main(String[] args) {
try {
OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream("e:\\"));
osw.write("学海⽆涯,维勤是岸");
System.out.println("⽂件默认编码:" + Encoding());// 使⽤getEncoding()⽅法取得当前系统的默认字符编码
osw.close();
/*
* 如果在调⽤FileOutputStream的构造⽅法时没有加⼊true,那么新加⼊的字符串就会替换掉原来写⼊的字符串,
* 在调⽤构造⽅法时指定了字符的编码,新写⼊的字符,会使⽤新指定的编码
*/
osw = new OutputStreamWriter(new FileOutputStream("e:\\", true), "ISO8859_1");
osw.write("他⼭之⽯,可以攻⽟");
System.out.println("修改⽂件编码之后getEncoding:" + Encoding());
osw.close();
System.out.println(codeString("e:\\"));
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
}
}
public static String codeString(String fileName) throws Exception {
BufferedInputStream bin = new BufferedInputStream(new FileInputStream(fileName));
int p = (ad() << 8) + ad();
String code = null;
// 其中的 0xefbb、0xfffe、0xfeff、0x5c75这些都是这个⽂件的前⾯两个字节的16进制数
switch (p) {
case 0xefbb:
code = "UTF-8";
break;
case 0xfffe:
code = "Unicode";
break;
case 0xfeff:
code = "UTF-16BE";
break;
case 0x5c75:
code = "ANSI|ASCII";
break;
default:
code = "GBK";
}
return code;
}
}
运⾏程序后输出:
⽂件默认编码:UTF8
修改⽂件编码之后getEncoding:ISO8859_1
GBK
问题1:java 中是怎么设置⽂件的编码格式?有没有⽅法能指定新增⽂件编码格式?修改已存在的⽂件编码格式?问题2:上⾯程序中创建的⽂件,到底是那种编码格式的?
请⼤神赐教,感激不尽……
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论