`
dali
  • 浏览: 7049 次
  • 性别: Icon_minigender_1
  • 来自: 南京
最近访客 更多访客>>
社区版块
存档分类
最新评论

文件编码转换

    博客分类:
  • JAVA
阅读更多

目录文件编码转换

java 代码
  1. package com.xw.file;   
  2.   
  3. import java.io.BufferedReader;   
  4. import java.io.BufferedWriter;   
  5. import java.io.File;   
  6. import java.io.FileFilter;   
  7. import java.io.FileInputStream;   
  8. import java.io.FileOutputStream;   
  9. import java.io.IOException;   
  10. import java.io.InputStream;   
  11. import java.io.InputStreamReader;   
  12. import java.io.OutputStream;   
  13. import java.io.OutputStreamWriter;   
  14. import java.io.Reader;   
  15. import java.io.UnsupportedEncodingException;   
  16. import java.io.Writer;   
  17.   
  18. public class FileEncodeConverter {   
  19.   
  20.     // 原文件目录   
  21.     private static String srcDir = "x:/src";   
  22.     // 转换后的存放目录   
  23.     private static String desDir = "x:/des";    
  24.     // 源文件编码   
  25.     private static String srcEncode = "gb2312";   
  26.     // 输出文件编码   
  27.     private static String desEncode = "utf-8";   
  28.        
  29.     // 处理的文件过滤   
  30.     private static FileFilter filter = new FileFilter() {   
  31.         public boolean accept(File pathname) {   
  32.             // 只处理:目录 或是 .java文件   
  33.             if (pathname.isDirectory()   
  34.                     || (pathname.isFile() && pathname.getName().endsWith(   
  35.                             ".java")))   
  36.                 return true;   
  37.             else  
  38.                 return false;   
  39.         }   
  40.     };   
  41.        
  42.     /**  
  43.      * @param file  
  44.      */  
  45.     public static void readDir(File file)   
  46.     {   
  47.         File[] files = file.listFiles(filter);   
  48.         for (File subFile : files) {   
  49.             // 建立目标目录   
  50.             if (subFile.isDirectory()) {   
  51.                 File file3 = new File(desDir + subFile.getAbsolutePath().substring(srcDir.length()));   
  52.                 if (!file3.exists()) {   
  53.                     file3.mkdir();   
  54.                 }   
  55.                 file3 = null;   
  56.                 readDir(subFile);   
  57.             } else {   
  58.                 System.err.println("一源文件:\t"+subFile.getAbsolutePath() + "\n目标文件:\t" + (desDir + subFile.getAbsolutePath().substring(srcDir.length())));   
  59.                 System.err.println("-----------------------------------------------------------------");   
  60.                 try {   
  61.                     convert(subFile.getAbsolutePath(), desDir + subFile.getAbsolutePath().substring(srcDir.length()), srcEncode, desEncode);   
  62.                 } catch (UnsupportedEncodingException e) {   
  63.                     e.printStackTrace();   
  64.                 } catch (IOException e) {   
  65.                     e.printStackTrace();   
  66.                 }   
  67.             }   
  68.         }   
  69.     }   
  70.        
  71.     /**  
  72.      *   
  73.      * @param infile    源文件路径  
  74.      * @param outfile   输出文件路径  
  75.      * @param from  源文件编码  
  76.      * @param to    目标文件编码  
  77.      * @throws IOException  
  78.      * @throws UnsupportedEncodingException  
  79.      */  
  80.     public static void convert(String infile, String outfile, String from,   
  81.             String to) throws IOException, UnsupportedEncodingException {   
  82.         // set up byte streams   
  83.         InputStream in;   
  84.         if (infile != null)   
  85.             in = new FileInputStream(infile);   
  86.         else  
  87.             in = System.in;   
  88.         OutputStream out;   
  89.         if (outfile != null)   
  90.             out = new FileOutputStream(outfile);   
  91.         else  
  92.             out = System.out;   
  93.   
  94.         // Use default encoding if no encoding is specified.   
  95.         if (from == null)   
  96.             from = System.getProperty("file.encoding");   
  97.         if (to == null)   
  98.             to = System.getProperty("file.encoding");   
  99.   
  100.         // Set up character stream   
  101.         Reader r = new BufferedReader(new InputStreamReader(in, from));   
  102.         Writer w = new BufferedWriter(new OutputStreamWriter(out, to));   
  103.   
  104.         // Copy characters from input to output. The InputStreamReader   
  105.         // converts from the input encoding to Unicode,, and the   
  106.         // OutputStreamWriter   
  107.         // converts from Unicode to the output encoding. Characters that cannot   
  108.         // be   
  109.         // represented in the output encoding are output as '?'   
  110.         char[] buffer = new char[4096];   
  111.         int len;   
  112.         while ((len = r.read(buffer)) != -1)   
  113.             w.write(buffer, 0, len);   
  114.         r.close();   
  115.         w.flush();   
  116.         w.close();   
  117.     }   
  118.        
  119.   
  120.     public static void main(String[] args) {   
  121.         // 建立目标文件夹   
  122.         File desFile = new File(desDir);   
  123.         if (!desFile.exists()) {   
  124.             desFile.mkdir();   
  125.         }   
  126.         desFile = null;   
  127.   
  128.         File srcFile = new File(srcDir);   
  129.         // 读取目录 循环转换文件   
  130.         readDir(srcFile);   
  131.         srcFile = null;   
  132.     }   
  133.   
  134. }   
分享到:
评论

相关推荐

    文件编码转换工具

    在处理跨平台或跨语言的文件时,文件编码的不一致可能导致乱码问题,这时就需要文件编码转换工具来解决。 "文件编码转换工具"是一种专门用于处理不同编码格式之间转换的软件。这种工具通常支持常见的编码格式,如...

    万能的文件编码转换工具。

    本软件“万能的文件编码转换工具”专为此问题提供解决方案,它支持多种编码格式,使得用户能够轻松应对各种编码不兼容的情况。 首先,我们需要理解什么是文件编码。文件编码是指将字符转化为二进制数据的规则,常见...

    文件编码转换器源码

    在这个特定的“文件编码转换器源码”中,主要涉及了从GB2312编码到UTF-8编码的转换。GB2312,全称为《信息交换用汉字编码字符集·基本集》,是中国大陆早期广泛使用的简体中文字符编码标准。而UTF-8则是Unicode ...

    文件编码转换工具java

    标题中的“文件编码转换工具java”表明这是一款基于Java编程语言开发的应用,主要功能是进行文件编码的转换。在IT领域,文件编码是至关重要的,不同的编码格式适用于不同的语言和平台,例如ASCII、UTF-8、GBK等。这...

    java 文件编码转换

    在IT行业中,文件编码转换是一项基础且重要的任务,尤其是在处理多语言或多系统交互时。Java作为一种广泛使用的编程语言,提供了丰富的API来支持文件编码的识别和转换。标题"java 文件编码转换"指的是使用Java来解决...

    文件编码转换器源码 v1.0

    **文件编码转换器源码 v1.0** 是一个基于C#编程语言开发的开源工具,主要用于处理文本文件的编码转换问题。在信息技术领域,文件编码是决定字符如何在计算机中存储和显示的关键因素,不同的编码标准如ASCII、GBK、...

    mac文件编码转换

    在Mac操作系统中,文件编码转换是一项重要的任务,尤其对于处理包含不同字符集的文本文件时。常见的文件类型如txt、xml、css、htm、html、php、jsp等,它们可能因开发环境或语言设定的不同而采用不同的编码方式,如...

    批量文件编码转换工具

    本工具名为"批量文件编码转换工具",专门针对那些需要处理大量文件编码问题的用户,能够有效地节省时间和精力。 GB2312编码,全称“中华人民共和国国家标准汉字编码”,是简体中文字符集的一种标准,主要应用于早期...

    说塔文件编码转换器 v1.0.0 bulid 080921 Beta

    说塔文件编码转换器可以将文件(如:aspx文件|*.aspx|cs文件|*.cs|asp文件|*.asp|txt文件|*.txt|css文件|*.css|js文件|*.js|jsp文件|*.jsp|php文件|*.php等)的编码格式在UTF-7、UTF-8、Unicode、ASII、Big5、GB2312...

    易语言文件编码转换

    在处理文件时,尤其是在处理不同编码格式的文件时,文件编码转换是必不可少的操作。本项目提供了易语言实现的文件编码转换源码,这对于我们理解和操作文件编码具有重要意义。 1. **文件编码**:文件编码是指文件中...

    Java文件编码转换源码

    在Java编程语言中,文件编码转换是一个常见的任务,特别是在处理多国语言或者处理不同系统间的文件传输时。本文将深入探讨如何使用Java实现文件编码的转换,主要关注GB2312、UTF-8这两种常见编码格式之间的转换。 ...

    文件编码转换器

    在处理不同来源或目标的文件时,可能会遇到编码不兼容的问题,这时就需要用到文件编码转换器。 文件编码转换器是一种工具软件,它的主要功能是将文件中的文本内容从一种编码格式转换成另一种编码格式。在处理多语言...

    文件编码转换器-支持常见编码格式如UTF-8、UTF-7、Unicod、ASCII、GB2312、Big5之间的转换

    文件编码转换 1.0 特点: 1、可以支持常见编码格式如UTF-8、UTF-7、Unicod、ASCII、GB2312、Big5之间的转换。 2、支持选取文件夹批量、文件多选、翦贴板中复制三种文件批量选取方式,能实现指量转换。 3、支持...

    iconv-文件编码转换

    **iconv 文件编码转换** 在信息技术领域,文件编码转换是一个重要的任务,特别是在处理不同系统、不同语言或不同软件之间的数据交换时。`iconv` 是一个广泛使用的命令行工具,用于在各种字符编码之间进行转换,确保...

    Linux查看文件编码格式及文件编码转换

    以下是几种常见的文件编码转换方法: #### 使用Vim转换文件编码 1. **直接在Vim中转换**:打开文件后,可以在Vim命令模式下直接设置文件的编码格式,例如将文件转换为UTF-8编码: ```vim :set fileencoding=utf-...

    一个好用的文本文件编码转换器

    文本文件编码转换是IT领域中一个基础但至关重要的概念,特别是在处理多语言或者跨平台的文本数据时。本文将深入探讨“一个好用的文本文件编码转换器”所涉及的知识点,包括文本文件、编码、Unicode以及UTF-8和ANSI...

    JAVA文件编码转换工具1.50base[jar文件]

    JAVA文件编码转换工具1.50base 默认gbk编码转utf8编码 需要java虚拟机支持 jar文件,linux下终端使用 java -jar 文件名运行 选择文件 重命名文件为原文件名+".bak" 执行编码转换,创建新文件为原文件名 选择文件夹...

    批量文件编码转换器.zip

    在信息技术迅猛发展的当下,文件编码的转换成为了处理数据交换和兼容性问题时不可或缺的一环。尤其是涉及中文字符的...对于任何需要处理文件编码转换的个人或团队,批量文件编码转换器无疑是一个值得推荐的实用工具。

Global site tag (gtag.js) - Google Analytics