您的位置:首页 > 编程语言 > Java开发

java 动态获取当前系统桌面位置

2017-08-31 17:18 323 查看
博主在前段时间进行POI导出数据的时候困惑于文件的输出位置,因为没有用Excelutil包和response,所以一开始数据的存储位置直接写死,但是这样很不好,但是进行客户选择下载路径这个想法弄了许久又没实现,无奈,找到一个折中的方法.那就是动态获取当前用户的桌面路径,将文件的输出位置写为用户桌面.不多说了直接上代码.

File desktopDir = FileSystemView.getFileSystemView()
.getHomeDirectory();
String desktopPath = desktopDir.getAbsolutePath();
//博主桌面路径没有改过,用户主机名也没有改过,所以获取到的
desktopPath 为C:\users\Administrator\decstop(此段手写可能拼写有误~),输出出来的desktopPath
但是new FileOutputStream(fileName);时要把"\"替换为"//",所以注意:替换代码为:
String filePath = desktopPath.replaceAll("\\\\","//");
因为"\"会被转译具体转译解释如下:
eplaceAll()方法实际是采用正则表达式的规则去匹配的。在regex中"\\"表示一个"\",在java中一个"\"也要用"\\"表示。这样,前一个"\\"代表regex中的"\",后一个"\\"代表java中的"\",所以字符串转义一次,正则转义一次,那么一个斜扛要写4个,要想使用replaceAll()方法将字符串中的反斜杠(\)替换成(\\),则需要这样写:replaceAll("\\\\","\\\\\\\\")




简单的来说:Java中的replaceAll()方法要用4个反斜杠,表示一个反斜杠.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: