`
tianshibaijia
  • 浏览: 1145075 次
文章分类
社区版块
存档分类
最新评论

window 下文件传给linux 乱码问题 解决方案

 
阅读更多

装载cygwin可以打成tar 包。然后如果文件有问题

Java用

iconv -f GBK -t utf-8 2010-10-30.txt –o 2010-10-30.txt

c用

iconv -f GBK -t utf-8 2010-10-30.txt > 2010-10-30.txt

如果文件有多个问题 可以用递归实现

具体如下:

import java.io.File;
import java.io.IOException;
import java.util.Scanner;
import java.util.regex.Pattern;

public class ChangeFile4ZH {
private static int total=0;



public static void main(String args[]){
System.out.println("请输入聊天根文件夹:");
Scanner sc = new Scanner(System.in);
String filePath = sc.nextLine();
if(filePath!=null && filePath.length()>0){
changeFileName(filePath);
}
}

public static void changeFileName(String filePath){
if(total %50==0){System.out.println("total:"+total);}
File file= new File(filePath);
if(file.exists()){
File[] filesList = file.listFiles();
for (File f : filesList) {
if(f.isFile()){
//重命名文件
renameFile( f.getAbsolutePath(),f.getParent() , f.getName());
total++;
}else{
changeFileName(f.getAbsolutePath());
}
}
}
}
public static void encode(String filePath){
if(total %50==0){System.out.println("total:"+total);}
File file= new File(filePath);
if(file.exists()){
File[] filesList = file.listFiles();
for (File f : filesList) {
if(f.isFile()){
//重编译文件内容
enConderFile(f);
total++;
}else{
encode(f.getAbsolutePath());
}
}
}
}
public static void delete(String filePath){
if(total %50==0){System.out.println("total:"+total);}
File file= new File(filePath);
if(file.exists()){
File[] filesList = file.listFiles();
for (File f : filesList) {
if(f.isFile()){
//删除原来文件
deleteFile(f.getAbsolutePath() ,f.getName());
total++;
}else{
delete(f.getAbsolutePath());
}
}
}
}

public static void enConderFile(File file){
Runtime runTime=Runtime.getRuntime();
try {
runTime.exec("iconv -f gbk -t utf-8 "+file.getPath() +" -o " +file.getParent()+File.separator+"bak"+file.getName());
} catch (Exception e) {

System.out.println("iconv -f gbk -t utf-8 "+file.getPath() +" -o " +file.getParent()+File.separator+"bak"+file.getName());
}
}

public static void renameFile(String realPath,String path,String fileName){
if(fileName.startsWith("bak")){
Runtime runTime=Runtime.getRuntime();
try {
runTime.exec(" mv "+realPath +" "+path+File.separator+ fileName.replaceFirst("bak",""));
} catch (IOException e) {
System.out.println(" mv "+realPath +" "+path+File.separator+ fileName.replaceFirst("bak",""));

}

}
}
//删除文件
public static void deleteFile(String realPath,String fileName){
String regPath = "^[//d]{4}-[//d]{2}-[//d]{2}.txt$";
Pattern pa=Pattern.compile(regPath);
if(pa.matcher(fileName).find()){
new File(realPath).delete();
}
}

}

分享到:
评论

相关推荐

    Linux下eclipse中文乱码问题解决方案

    Linux 下 Eclipse 中文乱码问题解决方案 Eclipse 中文乱码问题是由于 Eclipse 编辑器选择的编码规则是可变的。一般默认都是 UTF-8 或者 GBK,当从外部导入的一个工程时,如果该工程的编码方式与 Eclipse 中设置的...

    swing中文乱码问题(Linux和window)

    #### Linux系统下的解决方案 在Linux系统下使用Swing进行GUI开发时,可能会遇到中文乱码的问题。解决这一问题通常需要对系统的编码环境进行适当的配置。以下是一个详细的步骤指南,帮助开发者解决乱码问题。 **第...

    LInux 乱码解决资料搜集

    ### Linux系统乱码问题解决方案 #### 一、背景与概述 在使用Linux系统的过程中,用户可能会遇到字符显示异常的问题,即通常所说的“乱码”。乱码现象不仅影响用户体验,还可能导致数据解读错误。本文旨在整理关于...

    linux mysql中文乱码问题解决

    通过调整`my.cnf`文件中的字符集设置并重启MySQL服务,可以有效地解决Linux环境下MySQL中文乱码问题。此外,还需要确保数据库、表、字段以及使用的IDE等工具中的字符集设置一致,以避免因字符集不匹配导致的乱码问题...

    linux 中文显示乱码解决办法

    ### Linux中文显示乱码解决办法 #### 背景与问题描述 在使用Linux系统时,用户可能会遇到中文字符显示为乱码的情况。这通常是因为系统当前使用的编码格式与中文字符的实际编码不匹配所导致的问题。本文将详细介绍...

    关于Linux下中文乱码的完整处理方案.docx

    在Linux环境下,中文乱码问题是一个常见的困扰,尤其是在与Windows系统交互时。...这个方案考虑到了系统设置、文件传输以及不同环境下的显示需求,是处理Linux中文乱码问题的一个全面且有效的方法。

    ubuntu(vim,gedit等)乱码问题的解决

    Gedit编辑器乱码解决方案 **步骤一:** 使用`gconf-editor`工具打开配置编辑器。 **步骤二:** 在配置编辑器中定位到`apps > gedit-2 > preferences > encodings`路径。 **步骤三:** 修改自动检测(`auto_...

    Windows——Linux平台移植乱码解决

    ### Windows至Linux平台移植中的乱码问题解决方案 在软件开发过程中,经常需要将应用程序或代码库从一个操作系统移植到另一个操作系统。特别是在从Windows系统移植到Linux系统的过程中,开发者经常会遇到字符编码不...

    linux安装oracle解决安装界面中文乱码

    在Linux环境下安装Oracle数据库时,可能会遇到一个常见的问题:安装界面中文显示为“小方块”或乱码。这个问题通常是由于系统缺少必要的字体支持导致的。以下是一套详细的解决方案,帮助你解决这个问题。 1. **确认...

    Linux redhat桌面命令中文乱码解决

    ### Linux Redhat桌面命令中文乱码解决方案 在安装Redhat Linux之后,经常遇到的一个问题是中文显示出现乱码问题。这不仅影响用户体验,还可能导致一些功能无法正常使用。本文将详细介绍如何全面解决这一问题,并...

    JFreechart 在linux下不显示及中文乱码问题

    标题“JFreechart在Linux下不显示及中文乱码问题”指出的是在使用JFreechart库创建图表时,在Linux操作系统环境下遇到的两个主要问题:图表无法正常显示以及中文字符出现乱码。JFreechart是一个Java库,用于生成高...

    解决vm8.0安装rhe5.5后乱码问题

    提供的压缩包文件"RedHat+Enterprise+5中中文乱码问题"可能包含更详细的步骤或特定情况的解决方案,建议参考该文件进行更深入的排查。记住,每个问题都有解决的办法,只要我们耐心地去分析和尝试。

    解决开发中乱码方案

    ### 解决开发中乱码方案 #### 背景与问题描述 在Web开发过程中,中文乱码问题一直是困扰开发者的一大难题。特别是在处理用户输入、数据库读取等环节时,字符编码不一致很容易导致页面显示异常,使得用户体验大打...

    Zend-Studio-7中文乱码的解决方法

    #### 解决方案 针对以上原因,可以采取以下步骤来解决中文乱码的问题: ##### 步骤一:检查系统环境变量 1. **修改JAVA_TOOL_OPTIONS**:在操作系统的环境变量中找到JAVA_TOOL_OPTIONS,并将其值设置为`-Dfile....

    SWING乱码font.zip

    在Java编程领域,Swing是Java Standard Edition (Java SE)的一部分,它提供了一套用于创建图形用户界面(GUI)的组件库。Swing是基于Java AWT(Abstract ...如果遇到问题,可以通过研究这些文件找到相应的解决方案。

    Linux常见问题分析(pdf文档)

    ### Linux常见问题分析 #### 1. Linux为什么这么耗内存? - **问题描述**:使用`free`命令查看系统内存时,发现空闲内存很少,即使没有运行大型应用。 - **原因分析**:Linux内核设计的一个特点是尽可能利用空闲...

    Linux 下 启动 NetCA 出错处理

    本文详细介绍了在Linux环境下启动NetCA时遇到图形界面显示问题的原因以及具体的解决步骤。通过上述方法,我们不仅可以成功启动NetCA,还能解决可能出现的字符乱码问题。同时,也强调了使用`xhost +`命令的安全风险,...

    基于Linux系统的彝文输入动态挂接.pdf

    总的来说,这篇论文提供了一个在Linux系统中实现彝文输入的有效解决方案,为少数民族语言在现代信息技术环境中的应用开辟了新的道路。同时,它也为系统开发人员和研究人员提供了宝贵的参考,有助于推动Linux系统的...

    Linux X窗口外挂中文系统的原理与实现.pdf

    这种方法适用于多种Linux发行版,如RedHat、SUSE,甚至其他UNIX系统,如SUN Solaris、SCO、SGI,为用户提供了一种灵活的中文环境解决方案,同时也为自定义和扩展提供了可能性。 总的来说,Linux X窗口外挂中文系统...

    MyEclipse使用之应用指南

    当在 Windows 平台下使用默认编码创建的项目被转移到 Linux 平台时,可能会出现乱码问题。这是因为 Windows 和 Linux 默认使用的编码不一致(Windows 默认使用 GBK 或 GB2312,而 Linux 默认使用 UTF-8)。 **解决...

Global site tag (gtag.js) - Google Analytics