生成一个中文名的文件(文件内容也是中文)保存到指定路径 import java.io.BufferedWriter;import java.io.File;import java.io.FileWriter;import java.io.IOException;import java.io.UnsupportedEncodingException;////获取当
import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.io.UnsupportedEncodingException; ////获取当前系统环境编码格式的属性属性(shell输出乱码 和 文件名乱码 与这个属性有关) /** * static String charsetName = System.getProperty("sun.jnu.encoding");//文件名是否乱码 * static String encoding = System.getProperty("file.encoding"); //文件内容是否乱码 * str = new String(str.getBytes(), charsetName); * str = new String(str.getBytes(), encoding); * str = new String(str.getBytes("utf-8"), charsetName); */ public class Bianma { //获取当前系统环境编码格式的属性属性(shell输出乱码 和 文件名乱码 与这个属性有关) static String charsetName = System.getProperty("sun.jnu.encoding");//文件名是否乱码 static String encoding = System.getProperty("file.encoding"); //文件内容是否乱码 //获取系统默认文件编码(此属性与文件格式有关) //System.getProperty("file.encoding"); /** * 将字符串转换为当前系统的编码 * * @param str 输入的字符串 * @return 当前系统编码的字符串 */ public static String GetCurrentlyEncodedString(String str) { try { str = new String(str.getBytes(), encoding); } catch (Exception e) { e.printStackTrace(); } return str; } /** * 输出文件 * * @param outputString 输出文件的写入内容 * @param outputFile 输出文件 * @return 成功与否 * */ public static boolean writeFile(String outputString,File outputFile) { BufferedWriter bw = null; try { bw = new BufferedWriter(new FileWriter(outputFile)); bw.write(new String(outputString.getBytes(), encoding));//文件内容中文不乱码 //bw.write(outputString); return true; } catch (IOException e) { e.printStackTrace(); return false; }finally { try { if(bw != null) { bw.close(); } }catch(IOException e) { e.printStackTrace(); } } } public static void main(String[] args) throws UnsupportedEncodingException { System.out.println("charsetName="+charsetName); System.out.println("encoding="+encoding); String filenameLinux = "/home/weblogic/lbz/ly/文件啊我的.txt";//文件名 String filenameWindows = "C:\\Local\\bak/文件啊我的.txt";//文件名 String filestr = "我不要乱码";//文件内容 System.out.println(GetCurrentlyEncodedString("1=1=1=1我不要乱码")); File outputfile = new File(new String(filenameLinux.getBytes("GBK"), charsetName)); writeFile(filestr, outputfile); } }Bianma.java
package com.dmt; import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.io.UnsupportedEncodingException; public class Bianma { //获取当前系统环境编码格式的属性属性(shell输出乱码 和 文件名乱码 与这个属性有关) static String charsetName = System.getProperty("sun.jnu.encoding");//文件名是否乱码 static String encoding = System.getProperty("file.encoding"); //文件内容是否乱码 //获取系统默认文件编码(此属性与文件格式有关) //System.getProperty("file.encoding"); /** * 将字符串转换为当前系统的编码 * * @param str 输入的字符串 * @return 当前系统编码的字符串 */ public static String GetCurrentlyEncodedString(String str) { try { str = new String(str.getBytes(), encoding); } catch (Exception e) { e.printStackTrace(); } return str; } /** * 输出文件 * * @param outputString 输出文件的写入内容 * @param outputFile 输出文件 * @return 成功与否 * */ public static boolean writeFile(String outputString,File outputFile) { BufferedWriter bw = null; try { bw = new BufferedWriter(new FileWriter(outputFile)); bw.write(new String(outputString.getBytes(), encoding));//文件内容中文不乱码 //bw.write(outputString); return true; } catch (IOException e) { e.printStackTrace(); return false; }finally { try { if(bw != null) { bw.close(); } }catch(IOException e) { e.printStackTrace(); } } } public static void main(String[] args) throws UnsupportedEncodingException { System.out.println("charsetName="+charsetName); System.out.println("encoding="+encoding); String filenameLinux = "/home/weblogic/lbz/ly/文件啊我的.txt";//文件名 String filenameWindows = "C:\\Local\\bak/文件啊我的.txt";//文件名 String filestr = "我不要乱码";//文件内容 System.out.println(GetCurrentlyEncodedString("1=1=1=1我不要乱码")); File outputfile = new File(new String(filenameLinux.getBytes("GBK"), charsetName)); writeFile(filestr, outputfile); } }