服务器是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,也没有任何效果。
现在这个问题已经搞得我抓狂了,特来求教。
相关推荐
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 中的 `java....
在Java编程语言中,判断文件或字符串的编码方式是一个常见的需求。这主要涉及到字符集的概念,如ASCII、ISO-8859-1、UTF-8等,它们用于将二进制数据转换为人类可读的字符。在Java中,有多种方法可以用来识别或检测一...
在Java开发过程中,有时我们需要确定一个文件的编码格式,以便正确地读取和处理其中的数据。标题提到的“JAVA获取文件编码格式”是一项常见的任务,特别是在处理来自不同来源的文本文件时。在这种情况下,我们可以...
在Java编程中,判断文件或文本流的编码是处理文本数据时的重要步骤,尤其是在处理包含多种语言或特殊字符的文件时。以下将详细介绍如何在Java中进行文件编码的判断。 首先,基本的判断方法是通过读取文件的前三个...
首先,我们需要导入必要的Java IO库,这包括`java.io.File`、`java.io.FileInputStream`和`java.nio.file.Files`等类,它们提供了对文件和目录进行操作的方法。 ```java import java.io.File; import java.io....
convertSingleFile(file.getAbsolutePath(), targetPath + "/" + file.getName(), sourceEncoding, targetEncoding); } } } } private static void convertSingleFile(String sourceFilePath, String ...
为了处理中文,应使用`new String(file.getName().getBytes("GBK"), "ISO-8859-1")`或者`new String(file.getName().getBytes("UTF-8"), "ISO-8859-1")`来转换文件名,这样在ZIP文件中保存的是正确的编码,而不会...
ZipEntry zipEntry = new ZipEntry(parentPath + File.separator + file.getName()); zos.putNextEntry(zipEntry); zos.write(bytes); zos.closeEntry(); } } } ``` 这段代码定义了一个名为`ZipUtil`的工具类...
Java 8引入了`java.util.Base64`类,提供了一套方便的方法来进行Base64编码和解码。下面是如何将一个文件读取并编码为Base64字符串的示例: ```java import java.nio.file.Files; import java.nio.file.Paths; ...
在Java编程中,处理文件编码是一项常见的任务,特别是在读取、写入或转换文本文件时。文件编码决定了字符集的表示方式,而BOM(Byte Order Mark)则是一种特殊的Unicode标记,用于标识文件的编码类型。本文将详细...
System.out.println(file.getName() + "编码为:" + charset.name()); } else { System.out.println(file.getName() + "编码未知"); } ``` 3. **转换文件编码**:如果文件的编码不正确,可以先检测其实际编码...
System.err.println("Error reading file: " + file.getName()); } } else if (file.isDirectory()) { matchingFiles.addAll(findFiles(file.getAbsolutePath(), keyword)); } } } } return matchingFiles...
根据提供的文件信息,本篇文章将重点讲解《Java实训教程》第五章关于IO操作的内容,包括对`java.io.File`类的详细介绍以及与之相关的文件和目录操作知识点。 ### Java IO 操作简介 #### 1. 文件与目录操作 - `java...
File outputFile = new File(outputDir, entry.getName()); // 确保文件名被正确解码 if (!entry.isDirectory()) { Files.copy(zis, outputFile.toPath(), StandardCopyOption.REPLACE_EXISTING); } else { ...
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编程语言中,获取文件编码格式是一项重要的任务,特别是在处理不同来源的文本文件时。文件的编码格式决定了字符如何在计算机中存储和显示,不同的编码如ASCII、GBK、UTF-8等支持的字符集范围不同。这篇博客...
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中判断文件编码,并根据不同的编码方式进行正确的输出。 ##...