java 获取文件名时乱码

1,文件乱码的原因:

这还要提起,之前工作中一位领导的开导。本质原因就是你要读取的内容的编码与你读取使用的编码不一致导致读取的乱码。

保证不乱码,需要在读取的时候设置与内容一致的编码格式。

2,获取取文件名乱码解读:

File.getName() 获取文件名的时候,是根据JDK的默认文件编码进行获取的。要查看JDK中文件的默认编码可以通过Sytem.getProperties().get("file.encoding");

进行查看。

3,解决文件名读取乱码:

//获取系统的默认编码,把文件名进行重新读取

String fileCode=(String)Sytem.getProperties().get("file.encoding");

String fileName = file.getName();

fileName = new String (fileName.getBytes(fileCode),fileCode);

ps:纯手打有错误,欢迎大家指正!

时间: 2024-12-09 03:42:12

java 获取文件名时乱码的相关文章

java 获取文件名(不包括文件的后缀)和文件重命名

获取文件名(不包括后缀) originalFileName.substring(0, originalFileName.lastIndexOf(".")) 文件重命名 public void renameFile(String file, String toFile) { File toBeRenamed = new File(file); //检查要重命名的文件是否存在,是否是文件 if (!toBeRenamed.exists() || toBeRenamed.isDirector

java获取运行时虚拟机内存情况

/** * 获取系统内存使用情况 * * @return 包含最大内存, 使用内存, 剩余内存的map对象 */ @Override public Map getXtncSyqk() { Map map = new HashMap(); long maxMem = Runtime.getRuntime().maxMemory()/1024/1024; long freeMem = Runtime.getRuntime().freeMemory()/1024/1024; long usedMem

java获取文件名及扩展名总结

如:文件filePath = "E:\\test\\test.dxf" 1.获取文件名 eg:获取 test.dxf 通过file对象 import java.io.File; public class test { public static void main(String[] args) { String filePath = "E:\\test\\test.dxf"; File tmpFile=new File(filePath); String fileN

java获取文件名的方法

方法1: 方法2:

Java中获取文件名、类名、方法名、行号的方法

??在C语言中,可以通过宏FILE.LINE来获取文件名和行号,在Java语言中,则可以通过StackTraceElement类来获取文件名.类名.方法名.行号,具体代码如下: public static int getLineNumber( ){ StackTraceElement[] stackTrace = new Throwable().getStackTrace(); return stackTrace[1].getLineNumber( ); } public static Stri

java获取时分秒

java获取倒计时用的时分秒 long time = end - System.currentTimeMillis() / 1000; 单位是秒 int days=((int)time)/(3600*24); int hours=((int)time)%(3600*24)/3600; int minutes = ((int)time)%(3600*24)%3600/60; int seconds = ((int)time)%(3600*24)%3600%60%60;java获取时分秒

获取java程序运行时内存信息

由于最近想自己动手测试一下String和StringBuffer的效率问题,需要获取程序运行时的内存占中信息,于是上网查了一下,根据查到的资料写了个程序,发现结果有问题,才发现查到的资料是错误的.所以在这里跟大家分享一下获取内存占用的正确方法 错误的方法 //程序开始时:(先调用一下垃圾回收,但是不一定立即执行) Runtime.getRuntime().gc(); long initm=Runtime.getRuntime().freeMemory(); //程序结束时: Runtime.ge

java获取常见文本文件的编码 解决乱码问题

乱码问题的产生一般是,由字节流转字符流的时候,读文件的编码与文件的系统编码不一致造成的. 解决方式:先自动判断文件系统编码类型,然后读的时候用这个类型去读就ok了. 自动判断文件系统编码类型代码如下, 地址:http://www.cnblogs.com/java0721/archive/2012/07/21/2602963.html java获取常见文本文件的编码 解决乱码问题

关于java文件下载文件名乱码问题解决方案

关于java文件下载文件名乱码问题解决方案 做为一名程序员,大家应该都遇到过乱码的问题吧!这篇文章是自己解决关于关于java文件下载文件名乱码问题的处理: String fileName = "下载的文件名"; String userAgent = request.getHeader("User-Agent"); //针对IE或者以IE为内核的浏览器: if (userAgent.contains("MSIE")||userAgent.conta