当前位置: 首页 > news >正文

java中的路径处理、左右斜杠

文章目录

      • PathNormalizer 工具类

属于基础问题,也整理下。

典型场景:
获取文件路径,拿到的是 d:\data\upload 然后代码中拼接的是/,这样存到库里乱七八糟。

PathNormalizer 工具类

importjava.nio.file.Path;importjava.nio.file.Paths;publicclassPathNormalizer{/** * 统一路径分隔符为正斜杠(推荐用于存储和显示) */publicstaticStringnormalizeToUnix(Stringpath){if(path==null||path.isEmpty()){returnpath;}// 统一替换反斜杠为正斜杠returnpath.replace('\\','/').replaceAll("/+","/");// 合并多个斜杠}/** * 统一为系统默认分隔符(用于文件系统操作) */publicstaticStringnormalizeToSystem(Stringpath){if(path==null||path.isEmpty()){returnpath;}// 先统一为正斜杠,再转为系统分隔符Stringnormalized=normalizeToUnix(path);returnnormalized.replace('/',File.separatorChar);}/** * 安全拼接路径(所有输入先归一化) */publicstaticStringjoin(Stringbase,String...parts){if(base==null){returnnull;}// 归一化基础路径Stringnormalized=normalizeToUnix(base);// 去除末尾斜杠if(normalized.endsWith("/")){normalized=normalized.substring(0,normalized.length()-1);}// 拼接每个部分for(Stringpart:parts){if(part==null||part.isEmpty()){continue;}// 归一化当前部分StringnormalizedPart=normalizeToUnix(part);// 去除开头斜杠if(normalizedPart.startsWith("/")){normalizedPart=normalizedPart.substring(1);}normalized+="/"+normalizedPart;}returnnormalized;}/** * 转换为 Path 对象(自动处理系统分隔符) */publicstaticPathtoPath(Stringpath){if(path==null){returnnull;}returnPaths.get(normalizeToUnix(path));}}
http://www.zskr.cn/news/1538142.html

相关文章:

  • 湖南长沙考研机构选那家好?认准博闻考研,靠谱正规更安心 - 长沙考研集训营
  • ArduinoFFT信号处理实战:如何在嵌入式设备上实现专业级频谱分析
  • 避坑指南:安卓Userland安装Kali Linux时最容易遇到的5个问题及解决方法(更新失败、桌面启动失败、连接不上)
  • USDPAA框架下高性能包处理:PPAC/PPAM架构解析与优化实践
  • 出生公证书怎么办理?出生公证需要什么材料?
  • MPC8315E以太网控制器哈希表与IEEE 1588定时器寄存器详解
  • 用I.MX6ULL和MX1502驱动28BYJ-48步进电机:一个嵌入式Linux驱动开发者的避坑实录
  • python怎么搭建免费代理IP池,免费代理IP适合爬虫工作吗
  • 2026年二氧化碳激光电源行业深度解析:技术迭代、优质厂家与采购指南 - 资讯快报
  • 北京线下上门回收旧邮票老纪念币,各类工艺品诚信收购 - 深鉴新闻
  • TensorFlow导入报错‘initialization failed’?别慌,这5个排查步骤帮你搞定
  • NanaZip:Windows 11时代的智能压缩工具,让你的文件管理更高效
  • Go学习第9天:并发编程 + 文件操作 + 正则表达式
  • 2026镇江防水公司推荐|全域正规屋面防水/SBS防水/彩钢瓦防腐翻新5家合规企业排行榜+避坑攻略 - 资讯快报
  • 定制儿童餐具生产厂家 - 资讯快报
  • 终极指南:如何通过AES密钥逆向工程《鸣潮》游戏模组开发
  • 黑苹果终极简化方案:OpCore Simplify一键生成OpenCore EFI完整指南
  • 终极指南:如何用foobox-cn打造专业级foobar2000音乐播放器界面
  • QMan PFDR内存配置与设备树节点详解:嵌入式网络处理性能优化
  • 换了电脑或重装系统后Git推送失败?快速恢复Gitee/SSH访问权限的3个关键步骤
  • 2026亲测推荐:901树脂实践案例分享 - 资讯快报
  • SolidWorks第四部分_直接实体建模特征10_移动面操作
  • 华为云INSPIRE大会全解读:面向Agent时代的完整AI基础设施全家桶
  • QQ机器人-Astrbot搭配NapCat框架插件文件发送问题 - windows99
  • 2026福州大平层装修公司哪家靠谱?最新排行榜与避坑指南 - 资讯快报
  • Python ezdxf:7天掌握DXF文件处理的完整指南
  • 3个技术突破:Path of Building PoE2如何解决流放之路2角色构建的复杂性问题
  • 面试逆袭攻略:Java面试常见陷阱与应对策略
  • 单词背了很多,英文文章还是读不懂?
  • AI落地三重刻度:业务偏移、人力节省与自主迭代