0 0

[java]file.getName()的编码是怎么样确定的30

服务器是suse,LANG=zh_CN.GBK
我写了一个JSP页面,遍历服务器某个目录下的所有文件,结果读出来的中文文件名是全是乱码。
我的页面设置如下:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

response.setContentType("text/html;charset=UTF-8 ");

tomcat设置也是UTF-8
尝试过的手段有
String fName = new String(file.getName().getByte(), "UTF-8");
String fName = new String(file.getName().getByte(), "GBK");
//其它相似代码省略……

也修改过服务器的LANG,曾设置为LANG=zh_CN.UTF-8,也没有任何效果。

现在这个问题已经搞得我抓狂了,特来求教。
2013年12月03日 15:37

3个答案 按时间排序 按投票排序

0 0

yuanfileName的编码格式,应该是由浏览器决定的。

2013年12月05日 11:13
0 0

0

    像tomcat如果没有改默认连接编码URIEncoding,需要String fName = new String(file.getName().getByte("ISO8859-1"), "UTF-8或GBK");

2013年12月03日 17:38
0 0

像tomcat如果没有改默认连接编码URIEncoding,需要String fName = new String(file.getName().getByte("ISO8859-1"), "UTF-8或GBK");

2013年12月03日 15:51

相关推荐

    Java判断文件编码格式 - 明明是悟空 - 博客园1

    java.io.File f = new java.io.File("待判定的文本文件名"); try { java.io.InputStream ios = new java.io.FileInputStream(f); byte[] b = new byte[3]; ios.read(b); ios.close(); if (b[0] == -17 && b[1] ...

    用java.util.zip包现数据压缩与解压

    ### 使用 Java.util.zip 包实现数据压缩与解压 在计算机科学领域,数据压缩技术是一项重要的功能,它能够帮助减少存储空间的需求以及提高网络传输效率。本文将通过一系列的示例来详细介绍如何利用 Java 中的 `java....

    java判断编码方式

    在Java编程语言中,判断文件或字符串的编码方式是一个常见的需求。这主要涉及到字符集的概念,如ASCII、ISO-8859-1、UTF-8等,它们用于将二进制数据转换为人类可读的字符。在Java中,有多种方法可以用来识别或检测一...

    JAVA获取文件编码格式

    在Java开发过程中,有时我们需要确定一个文件的编码格式,以便正确地读取和处理其中的数据。标题提到的“JAVA获取文件编码格式”是一项常见的任务,特别是在处理来自不同来源的文本文件时。在这种情况下,我们可以...

    java判断文件编码或文本流编码的方法宣贯.pdf

    在Java编程中,判断文件或文本流的编码是处理文本数据时的重要步骤,尤其是在处理包含多种语言或特殊字符的文件时。以下将详细介绍如何在Java中进行文件编码的判断。 首先,基本的判断方法是通过读取文件的前三个...

    知道文件目录后 获取文件的内容

    首先,我们需要导入必要的Java IO库,这包括`java.io.File`、`java.io.FileInputStream`和`java.nio.file.Files`等类,它们提供了对文件和目录进行操作的方法。 ```java import java.io.File; import java.io....

    java批量转换文件编码

    convertSingleFile(file.getAbsolutePath(), targetPath + "/" + file.getName(), sourceEncoding, targetEncoding); } } } } private static void convertSingleFile(String sourceFilePath, String ...

    java 打zip包

    为了处理中文,应使用`new String(file.getName().getBytes("GBK"), "ISO-8859-1")`或者`new String(file.getName().getBytes("UTF-8"), "ISO-8859-1")`来转换文件名,这样在ZIP文件中保存的是正确的编码,而不会...

    Java zip压缩包查看程序源码.rar

    ZipEntry zipEntry = new ZipEntry(parentPath + File.separator + file.getName()); zos.putNextEntry(zipEntry); zos.write(bytes); zos.closeEntry(); } } } ``` 这段代码定义了一个名为`ZipUtil`的工具类...

    Java代码 可以压缩文件夹到指定目录和指定名称,将文件或者文件夹中的文件转成base64格式

    Java 8引入了`java.util.Base64`类,提供了一套方便的方法来进行Base64编码和解码。下面是如何将一个文件读取并编码为Base64字符串的示例: ```java import java.nio.file.Files; import java.nio.file.Paths; ...

    java获取文件编码(判断有无BOM)

    在Java编程中,处理文件编码是一项常见的任务,特别是在读取、写入或转换文本文件时。文件编码决定了字符集的表示方式,而BOM(Byte Order Mark)则是一种特殊的Unicode标记,用于标识文件的编码类型。本文将详细...

    乱码 编码方式解决 gbk ISO8859-1 utf8 编码

    System.out.println(file.getName() + "编码为:" + charset.name()); } else { System.out.println(file.getName() + "编码未知"); } ``` 3. **转换文件编码**:如果文件的编码不正确,可以先检测其实际编码...

    java实现根据关键字查找所在文件夹的文件

    System.err.println("Error reading file: " + file.getName()); } } else if (file.isDirectory()) { matchingFiles.addAll(findFiles(file.getAbsolutePath(), keyword)); } } } } return matchingFiles...

    Java实训教程 Java软件开发实战 Java类库 第5章 io操作 共35页.pptx

    根据提供的文件信息,本篇文章将重点讲解《Java实训教程》第五章关于IO操作的内容,包括对`java.io.File`类的详细介绍以及与之相关的文件和目录操作知识点。 ### Java IO 操作简介 #### 1. 文件与目录操作 - `java...

    java实现的文件解压和压缩,没有中文编码问题

    File outputFile = new File(outputDir, entry.getName()); // 确保文件名被正确解码 if (!entry.isDirectory()) { Files.copy(zis, outputFile.toPath(), StandardCopyOption.REPLACE_EXISTING); } else { ...

    ZipOutputStream 压缩文件以及乱码问题解决方案

    File fileToZip = new File("Test.java"); FileOutputStream fos = new FileOutputStream("output.zip"); ZipOutputStream zos = new ZipOutputStream(fos); // 添加文件到ZIP addFileToZip(fileToZip, zos, ...

    文件解压和压缩 解决中文乱码

    1. 在读写文件时,确保使用支持UTF-8编码的流,如`new FileInputStream(file, "UTF-8")`。 2. 如果使用第三方库,检查其是否支持指定编码。例如,JUnrar库默认使用ISO-8859-1编码,需手动设置为UTF-8。 3. 在创建...

    Java 获得文件编码格式

    在Java编程语言中,获取文件编码格式是一项重要的任务,特别是在处理不同来源的文本文件时。文件的编码格式决定了字符如何在计算机中存储和显示,不同的编码如ASCII、GBK、UTF-8等支持的字符集范围不同。这篇博客...

    java web download file

    setHeaders(response, file.getName()); // 写入输出流 byte[] buffer = new byte[1024]; int bytesRead; while ((bytesRead = fis.read(buffer)) != -1) { response.getOutputStream().write(buffer, 0, ...

    有关Java编码输出

    ### 有关Java编码输出 在Java编程中,处理文件输入输出是常见的操作之一,而不同文件的编码方式可能会影响程序的正确运行。本篇文章将详细探讨如何在Java中判断文件编码,并根据不同的编码方式进行正确的输出。 ##...

Global site tag (gtag.js) - Google Analytics