问题描述: 将A文件需要copy到B文件,A文件的编码是"euc-jp",B文件的编码是"shift_jis",注意A、B文件都是文本文件。请问用java怎么做?还有怎样生成指定编码的文本文件,也用java实现?请详细说明,因为我写了一个, 但是运行有乱码出现。

解决方案 »

  1.   

    try {
                FileInputStream fis = new FileInputStream("fileA");
                FileOutputStream fos = new FileOutputStream("fileA");
                int value = 0;
                while((value = fis.read()) != -1) {
                    char c = (char)value;
                    String w = new String(String.valueOf(c).getBytes("euc-jp"), "shift_jis");
                    fos.write(w.getBytes());
                }
                fis.close();
                fos.close();
            } catch (Exception e) {
                e.printStackTrace();
            } 
    试试这个
      

  2.   

    我现在需要一个编码方式为“euc-jp”的文件, 怎样用java程序实现?
      

  3.   

    我也写了个,不过中文有乱码,我再看看再说,对编码也不是很懂
    import java.io.*;public class CodeConversion
    {
    //输入文件编码
    private static String srcEncode = "euc-jp";    
        // 输出文件编码    
        private static String desEncode = "shift_jis";    
    public static void main(String[] args)
    {
    try
    {
    FileInputStream inputFile = new FileInputStream("A.txt");
    InputStreamReader inputFileReader = new InputStreamReader(inputFile, srcEncode);
    System.out.println("输入文件编码: " + inputFileReader.getEncoding());
    FileOutputStream outputFile = new FileOutputStream("B.txt");
    OutputStreamWriter outputFileWriter = new OutputStreamWriter(outputFile, desEncode);
    System.out.println("输出文件编码: " + outputFileWriter.getEncoding());
    int c;
    while((c = inputFileReader.read()) != -1)
    {
    outputFileWriter.write(c);
    outputFileWriter.flush();
    }
    inputFileReader.close();
    outputFileWriter.close();
    }
    catch(Exception e)
    {
    e.printStackTrace();
    }
    System.out.println("转换成功!");
    }
    }
      

  4.   

    euc-jp这个编码支持中文吗?