今天写了一个小软件。在输出文件的时候出现中文路径输出文件会出错。虽然解决了但不知道好不好。我写了一个Demo 发上让高手指点一下。
package App;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.UnsupportedEncodingException;
import java.net.URL;
import java.net.URLEncoder;
public class Appction {
/**
* 在本路径下生成文件。解决"中文件路径问题"。
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String path = null;
String pathEncoder = null;
URL url = Thread.currentThread().getContextClassLoader()
.getResource("");
path = url.toString().substring(url.toString().indexOf("/") + 1,
url.toString().length());
try {
pathEncoder = URLEncoder.encode(path + "abc.java", "UTF-8");
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
File file = new File(pathEncoder);
File newfile = new File("Demo.java");
OutputStreamWriter osw = null;
try {
osw = new OutputStreamWriter(new FileOutputStream(file), "UTF-8");
osw.append("abc 输出的文件").append("\r\n");
osw.append("未处理前的路径: " + path).append("\r\n");
osw.append("UTF-8处理后路径: " + pathEncoder).append("\r\n");
osw.append("UTF-8处理后生成的文件名: " + file.getName()).append("\r\n");
osw.append("重命名后的文件名:" + newfile.getName()).append("\r\n");
osw.close();
file.renameTo(newfile);
if (file.exists()) {
newfile.delete();
file.renameTo(newfile);
System.out.println("文件存在");
}
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
下边是一个exe和jar包。可以下载看一下效果。
分享到:
相关推荐
JAVA解决URL路径中含有中文的问题。无论是路径中还是文件名包含中文都可以处理。经测试验证通过。
JAVA下载网络文件,解决路径或文件名含中文问题的工具类!
在使用SQLite3数据库时,有时会遇到一个...在提供的"解决Sqlite3中文路径问题"压缩包中,可能包含了示例代码或工具,用于演示如何实现这一功能。学习并理解这些代码,将有助于深入理解如何在实际项目中解决类似问题。
总之,解决Java中的URL中文乱码问题需要理解URL编码的原理,并在客户端和服务器端采取相应的措施,确保编码和解码的一致性。无论是通过JavaScript编码、Java服务器端解码,还是调整服务器配置,关键在于确保字符集的...
由于提到可以支持中文路径,这意味着在处理文件路径时,已经考虑到了中文字符的编码问题,这通常涉及到Java中的`URLEncoder`或`Charset`类来正确地处理文件名。 图片对比的基本思路是将两张图片转换为像素数组,...
在Java编程中,文件路径处理是一项常见的任务,但当路径中包含中文字符或特殊字符时,可能会遇到乱码问题。本文将深入探讨这个问题,并提供一个简单的解决方案。 首先,我们需要理解为什么会发生路径乱码。Java在...
本文将详细介绍如何使用Java实现文件下载功能,并重点讲解如何解决中文文件名乱码的问题。 #### 一、基本原理与步骤 1. **读取文件**:首先需要将要下载的文件读取到内存中。 2. **设置响应头**:为了正确地告知...
本文将详细讲解如何使用Java生成包含中文字符的PDF文档,并解决中文乱码问题,主要涉及的库是iText库及其针对亚洲语言的支持包。 首先,iText是一个开源的Java库,用于创建和修改PDF文档。在这里我们使用的是iText ...
### DWR中JS的引用路径问题详解 #### 一、背景介绍 在Web开发中,JavaScript(简称JS)是前端开发的重要组成部分之一...通过上述方法,可以有效地解决DWR中JS文件的引用路径问题,保证Web应用程序的稳定性和可靠性。
总的来说,解决Nexus中文路径问题需要从配置、环境变量、文件系统以及代码编写等多个角度考虑,确保整个链路都支持UTF-8编码。对于Java开发者来说,理解和处理字符编码问题是非常重要的技能,特别是在全球化的项目中...
Java 读取 SQLite 数据库到 JTable 中并解决中文乱码问题 Java 是一种流行的编程语言,它广泛应用于各种领域,包括移动设备、Web 开发、桌面应用程序等。SQLite 是一种轻量级的关系数据库管理系统,它广泛应用于...
这种方法的优点是简单且能够处理包含空格、"+"和中文等特殊字符的路径问题。在路径中包含"+"号时,由于URI类的编码转换机制与URLDecoder不同,它不会错误地将"+"号解码为一个空格,因此更为可靠。对于Web项目部署在...
- 对于Web浏览器加载问题,建议安装最新版本的Java运行环境或使用Sun公司的Java Plugin插件来解决兼容性问题。 #### 4. JDBC连接数据库时的地址显示问题 - **问题描述**:在使用JDBC连接数据库时,为何连接地址会...
最后,我们来看"Pdf4Html.java",这应该是一个示例程序或者模板代码,演示了如何使用PD4ML API将HTML转换为PDF,并解决中文乱码问题。在这个Java源文件中,可能会包含如下关键步骤: 1. 引入必要的库:导入PD4ML和...
Java和C++之间进行Socket通信时,可能会遇到乱码问题,主要是由于编码格式不一致导致的。Java默认使用UTF-8编码,而C++在Windows XP环境下可能使用GBK编码。解决这个问题的关键在于确保数据在传输过程中保持正确的...
### Java中压缩与解压——中文文件名乱码解决办法 #### 一、问题背景及原理分析 在Java中处理文件的压缩与解压时...通过上述步骤,可以有效地解决Java中压缩与解压时中文文件名乱码的问题,使得程序更加健壮和实用。
在Java开发环境中,IKAnalyzer提供了一种高效且灵活的解决方案,特别适用于搜索引擎构建、信息检索、文本分析等领域。 **IKAnalyzer的核心功能:** 1. **中文分词**:IKAnalyzer的主要任务是对中文句子进行分词。它...