`

java 无法访问Linux下中文目录路径和中文文件名

    博客分类:
  • java
 
阅读更多

1、首先说下linux下的文件分隔符问题,window下是\,

  如c:\tomcat\abc.txt这样可以,但linux下都是/,如/u01/tomcat/abc.txt。如果路径不对,也会找不到文件!

 

2、 String url="/u01/tomcat/中文.txt "   或者String url="/u01/tomcat/中文/烦死人.txt "

 

如果路径中带中文的文件夹,或名字,用new File(url);用函数file.exists()会返回false,

刚开始我还以为我的路径要转编码,于是试了各种转编码,iso-8859-1,utf-8,gbk,gb2312。。。都转了,都没用。

 

我代码是在win上编译的,在linux下运行的,发现在window下用System.getProperty("file.encoding")得到的是gbk,但在linux下是utf-8。在代码中转编码看来是没用的了,于是想到改操作系统的文件系统编码,于是:

vi /etc/sysconfig/i18n文件,改为LANG="zh_CN.GBK",我试了,改为utf-8也没用,中文乱码,只有改为gbk,改完后再不重启的情况下,使配置生效:source /etc/sysconfig/i18n,结果就可以了,可以正常操作了!

其实这个操作都是临时的,编码也只是零时改了,我用SecureCRT工具,退出会话,再进,编码又回到以前去了,,重启了,感觉好像也没效果,于是,没办法, vi /etc/profile,在文件末尾加上

export LANG="zh_CN.GBK"

export LC_ALL="zh_CN.GBK"

重新启动系统

reboot  linux 

一切都OK了。

分享到:
评论

相关推荐

    Java中压缩与解压--中文文件名乱码解决办法

    尤其是在Windows系统下,文件名通常采用GB2312或GBK编码,而Java中的`ZipInputStream`和`ZipOutputStream`类默认使用的是Unicode编码,这种编码差异导致了中文文件名在压缩与解压过程中的乱码现象。 #### 二、解决...

    linux下的文件名乱码,转为正常

    解决Linux下文件名乱码的问题,关键在于理解和设置正确的locale,以及正确使用各种命令处理文件名。通过上述方法,你应该能够有效地处理和避免文件名乱码问题,确保文件管理的顺利进行。记得在操作过程中要谨慎,...

    Java中FTPClient上传中文目录、中文文件名乱码问题解决方法

    FTP协议在设计之初,并未考虑非ASCII字符集,它默认使用ISO-8859-1编码来处理文件名和目录名。而中文字符不在这个编码集中,因此在传输过程中会出现乱码。在Java中使用Apache Commons Net库的FTPClient类进行操作时...

    java中遍历某个目录下的所有文件及文件夹中的文件

    ### Java中遍历某个目录下的所有文件及文件夹中的文件 在Java开发中,经常会遇到需要遍历指定目录及其子目录下所有文件的情况。本文将详细介绍如何使用Java标准库中的`java.io.File`类来实现这一功能。我们将通过一...

    Linux下Java环境的安装和配置

    在Linux系统中安装和配置Java环境是开发和运行Java应用程序的基础步骤。本文将详细阐述这一过程,包括下载、安装、配置环境变量以及验证Java安装是否成功。首先,我们需要明确Java的版本选择,通常推荐使用Oracle ...

    Linux下Java开发环境搭建以及加载C++动态库方法

    在 Linux 环境下搭建 Java 开发环境主要包括 JDK (Java Development Kit) 和 IDE (Integrated Development Environment) 如 Eclipse 的安装。 ##### 安装 JDK 及 Eclipse - **准备工作:**在虚拟机或物理机上安装好...

    java通过代码登录远程linux服务器并执行linux命令源码以及jar包

    在Java编程中,有时我们需要实现一个功能,即通过代码远程登录Linux服务器并执行特定的Linux命令。这在自动化运维、远程脚本执行等场景中非常常见。本篇将详细讲解如何实现这一目标,并提供相关源码及jar包。 首先...

    linuxJava8_32.tar.zip

    在32位Linux系统上安装JDK1.8时,通常需要将解压后的目录移动到一个系统路径下,如 `/usr/lib/jvm`,并更新环境变量如JAVA_HOME、PATH和CLASSPATH。具体步骤可能包括: 1. 将解压后的目录移动到适当位置: ```bash...

    绝对路径和相对路径

    在JSP和Servlet中获取当前应用的相对路径和绝对路径非常重要,可以帮助开发者更好地处理文件和目录。 ##### 3.1 JSP中获得当前应用的相对路径和绝对路径 - **根目录所对应的绝对路径**:可以通过`request....

    Linux上执行带main方法的java文件

    ### Linux环境下执行含main方法的Java文件详解 #### 标题与描述概述 本文主要介绍如何在Linux系统中执行带有`main`方法的Java文件。通常情况下,在开发环境中可以直接通过IDE或其他工具运行Java应用程序;然而,在...

    java路径设置[借鉴].pdf

    Java路径设置对于软件开发至关重要,因为它确保了操作系统能够正确地找到并执行Java相关的程序和类。以下是关于JAVA_HOME、PATH和CLASSPATH这三个关键环境变量的详细说明。 **JAVA_HOME** JAVA_HOME环境变量指示的...

    基于Java的minio相关操作示例

    2. **初始化MinIO客户端**:使用MinIO的Java SDK,你需要提供MinIO服务器的URL、访问密钥和秘密密钥来创建一个客户端实例。 ```java import io.minio.MinioClient; MinioClient minioClient = new MinioClient(...

    java实现批量改文件夹、文件名的shell

    该程序默认的工作路径是c:\盘,建议在windows环境下利用这则小程序,linux下未测试。 这个简单的java shell拥有以下几个命令: cd 进入要工作的目录 ls 列出该工作目录下的文件和文件夹 re 对工作目录下的文件夹名或...

    Java语言编写的Linux简单命令解释器

    Java实现可能需要遍历指定目录,使用`File`类来获取文件和目录信息,并打印出来。 5. **cd命令**:`cd`命令用于切换当前工作目录。Java版本可能通过改变`System.getProperty("user.dir")`的值来实现目录切换,但这...

    java-jdk-1.8.0_131-64位linux版

    6. **压缩包子文件的文件名称列表**:在这个例子中,只有一个文件`jdk1.8.0_131`,这通常是解压后得到的目录,包含JDK的所有组件和文件,如bin目录下的可执行文件,lib目录下的库文件,以及包含Java文档和示例程序的...

    jdk9 java9 linux版 jdk-9.0.4_linux-x64_bin.tar.zip

    - ".tar.gz":这是一种常见的Linux文件压缩格式,先用tar打包文件,然后用gzip进行压缩,便于在Linux环境下快速解压和部署。 在JDK 9中,一些值得关注的新特性包括: 1. **模块系统(Project Jigsaw)**:将JDK划分...

    java jdk7(linux版)里面含有安装方法

    Java JDK 7是Java开发工具包的一个重要版本,主要用于在Linux操作系统上开发和运行Java应用程序。JDK(Java Development Kit)包含了编译器、调试器、JRE(Java Runtime Environment)和其他工具,使得开发者能够在...

    daxiaoxiezhuanhuan.rar_java 大写_文件名小写

    首先,使用`File`类的`listFiles()`方法获取指定路径下的所有文件或目录,然后对每个文件进行处理,将文件名转换大小写,最后使用`renameTo()`方法进行重命名。 4. **批量处理**: 批量处理意味着程序会一次性处理...

    将某表示文件路径的字符串的文件名分离出文件路径

    例如,`java.nio.file.Path` 和 `java.nio.file.Paths` 类提供了更简洁和强大的API来处理文件路径。使用这些API可以更方便地解析、构建和操作文件路径。 #### 5.3 异常处理 在实际应用中,还需要考虑一些异常情况...

    java unzip linux 下面不识别中文问题 解决方案;

    在Linux环境下,使用Java进行文件解压操作时,可能会遇到一个常见的问题,即中文文件名或目录名无法正确显示或解压失败。这个问题主要是由于字符编码不兼容导致的。Linux系统通常使用UTF-8编码,而某些Java版本或...

Global site tag (gtag.js) - Google Analytics