Atitit.软件开发概念说明--io系统区--特殊文件名称保存最佳实践文件名称编码...filenameEncode 1.1. 不个网页title保存成个个文件的时候儿有无效字符的问题... 1
Atitit.软件开发概念说明--io系统区--特殊文件名称保存最佳实践文件名称编码...filenameEncode
1.1. 不个网页title保存成个个文件的时候儿有无效字符的问题... 1
1.2. 替换为中文全角符号(推荐,可读性最好) 1
1.3. 使用转义(推荐)... 1
1.4. 使用urlencode模式 (最简单,可读性一般) 1
2. Code 1
2.1. Code--全角符号 1
1.1. 不个网页title保存成个个文件的时候儿有无效字符的问题...
通常两个处理方式::: replace 成个空格或者使用转义(推荐)...
windows的文件名称无效字符.../\:* <>\"| 斜杠,反斜杠,冒号,星号,问号,左右尖括号 双引号 竖杠
尖括号,双引号,树杠...而且...“.” 一个点和 “..”双点分别用来表示“当前目录”和“父目录”, 因此它们也不能作为文件名
Linux的基本上只有反斜杠...
1.2. 替换为中文全角符号(推荐,可读性最好)
1.3. 使用转义(推荐)...
1.4. 使用urlencode模式 (最简单,可读性一般)
2. Code
2.1. Code--全角符号
/hislog/src/main/java/com/attilax/io/FileService.java
import org.apache.commons.io.FileUtils;
public class FileService {
public static void main(String[] args) throws IOException {
String oriname="C:\\0wkspc\\hislog\\src\\main\\java\\com\\attilax\\io\\filenameEncodeTest.txt";
String t=FileUtils.readFileToString(new File(oriname));
String newfilename=fileNameEncode_readableBest(t);
FileUtils.writeStringToFile(new File("C:\\0wkspc\\hislog\\src\\main\\java\\com\\attilax\\io\\"+newfilename+".txt"), "data");
System.out.println("--");
}
/**
* but cant convert to ori
* @param filenameOri
* @return
*/
public static String fileNameEncode_readableBest(String filenameOri) {
filenameOri=filenameOri.replaceAll("\\\\", "、");
filenameOri=filenameOri.replaceAll("\\/", "、");
filenameOri=filenameOri.replaceAll("\\|", "、");
filenameOri=filenameOri.replaceAll("\\*", "。");
filenameOri=filenameOri.replaceAll("\\?", "?");
filenameOri=filenameOri.replaceAll("\"", "“");
filenameOri=filenameOri.replaceAll("<", "《");
filenameOri=filenameOri.replaceAll(">", "》");
filenameOri=filenameOri.replaceAll(":", ":");
return filenameOri;
}
public static String fileNameEncode(String filenameOri) {
// /\:* <>\"|
if(filenameOri.equals("."))
return "%2E";
if(filenameOri.equals(".."))
return "%2E%2E";
Map<String, String> mp = (Map<String, String>) newClosureNoExcpt() {
@Override
publicObject execute(finalObject arg0) {
finalMap<String, String> mp = newHashMap<String, String>() {
{
this.put("*", "%2A");
}
};
finalString[] as = strUtil.SplitByNone("/\\:?<>\"|");
for(finalString s : as) {
try{
mp.put(s, URLEncoder.encode(s, "utf-8"));
} catch(finalUnsupportedEncodingException e) {
// TODOAuto-generated catch block
e.printStackTrace();
}
}
returnmp;
}
}.execute(null);
String[] as = strUtil.SplitByNone(filenameOri);
String fname2 = "";
for (String s : as) {
fname2 += mp.get(s) == null ? s : mp.get(s);
}
return fname2;
}
Atitit.软件开发概念说明--io系统区--特殊文件名称保存最佳实践文件名称编码...filenameEncode 1.1. 不个网页title保存成个个文件的时候儿有无效字符的问题... 1相关推荐
- Cimplicity软件开发的汽车厂监控系统案例
Cimplicity软件开发的汽车厂监控系统案例,设备显示,报警显示,趋势显示,设备控制等功能.界面高端大气,内容丰富,可作为拍下作为学的的案例id=621239118889&
- bk3432开发的应用实例_SpringCloud应用在Kubernetes上的最佳实践—诊断(线上联调)...
作者 | 纳海 阿里巴巴高级开发工程师 导读:上篇我们介绍了应用成功上云后,面对应用的管理,如何做可灰度的线上发布,那么当云上的应用行为不符合预期的时候,您会怎么处理呢?修改代码,打包,部署,然后查看 ...
- 基于DotNet构件技术的企业级敏捷软件开发平台 AgileEAS.NET - 系统架构
本文是继AgileEAS.NET应用开发平台介绍及AgileEAS.NET之敏捷并行开发方法所做的架构补充,用于阐释AgileEAS.NET平台的架构设计思路. 说起了系统架构,我也无法给出系统架构的 ...
- 企业管理软件开发不能割裂各系统的功能
现今企业管理软件分类比较多,但在一个企业中可能随着自己的发展以及管理的需要,在不同时期会购买不同阶段的管理软件,出于各种考虑可能会买入不同厂商的软件系统,这样就带来各软件间的无缝接口问题,这个问题如不 ...
- linux笔记本省电软件,在Deepin 15.7系统中处理笔记本省电的实践技巧
新发布的Deepin 15.7系统对省电方面有提升,然后重新安装该版本体验,发现耗电量非常大,后来发现是因为Deepin安装了laptop_mode_tools,但是没有最优配置,于是对这个展开处理, ...
- 黄河鲲鹏服务器装系统,【软通鲲鹏云最佳实践21】node-10.16.0 鲲鹏云服务器安装实践...
一.软件介绍 Node.js是一个基于Chrome V8引擎的JavaScript运行环境.Node.js使用了一个事件驱动.非阻塞式I/O的模型,使其轻量又高效. 二.支持的操作系统 经过华为云严格 ...
- 修改软件的艺术:构建易维护代码的9条最佳实践
内容简介 遗留代码就是指因为种种原因格外难以修正.改进以及使用的代码,这样的代码有很多,每天我们都会因为遗留代码而损失时间.金钱和机遇,软件产业通常轻视可维护性,所以到最后企业花在维护代码上的成本比一 ...
- 精益软件开发的思想_精益软件开发原理快速指南
精益软件开发的思想 我记得在早期的中学商业课上就曾在丰田公司学习精益生产,并且对通过有意设计来最大限度地减少浪费和提高生产率的想法深深着迷. 随着时间的流逝,精益方法被制造业以外的多个行业所采用,包括 ...
- 地平线:面向规模化量产的智能驾驶系统和软件开发
导读 7月27日,地平线在智东西公开课开设的「地平线自动驾驶技术专场」第3讲顺利完结,地平线智能驾驶应用软件部负责人宋巍围绕 <面向规模化量产的智能驾驶系统和软件开发>这一主题进行了直播讲 ...
- 软考高级系统架构设计师系列论文七:论基于构件的软件开发
软考高级系统架构设计师系列论文七:论基于构件的软件开发 一.摘要 二.正文 三.总结 一.摘要 本文以我主持开发的某公司生产经营管理系统为例,探讨了基于构件的软件开发问题.该系统是一个集原料采购.生产 ...
最新文章
- 计算机基础知识易错,事业单位考试计算机基础知识易错试题.doc
- java图书凭租_如何通过java一步实现租书系统
- 史上最详细的SSM框架整合(Spring、SpringMVC、Mybatis)
- Spring系列(六):@Conditional注解用法介绍
- 2020身高体重标准表儿童_男女孩最新身高标准表,你家孩子达标了吗?(附增高秘籍)...
- v4l2 框架下如何设置分辨率_【微学习】低压计量电表如何设置?(下)
- (九)在Kubernetes上运行人脸识别
- pat编程语言_浙江大学在线pat题库集合
- 在WEB开发的时候导入各种jar包
- 动易 dw css不对,动易模板常用CSS修改实际操作技巧
- SLAM系统原理推导
- 如何把pdf分割成多个?怎么把pdf文件分成多个?
- 基于人工势场法的车辆编队轨迹规划matlab仿真验证
- BZOJ_2393_Cirno的完美算数教室BZOJ_1853_[Scoi2010]幸运数字 _深搜+容斥原理
- <论文阅读> DI-FODO — 3D距离传感器的快速视觉里程计
- (1)QlikView概述
- 大数据时代BI平台何去何从
- HTML5中常见的新语义化标签
- chrome浏览器 在线打开预览pdf文件,而不是下载文件。
- C#实现调用打印机(打印字符串、打印绘图、打印图片),还差打印水晶报表
热门文章
- 电脑键盘灯怎么打开_电脑开机后黑屏键盘灯也不亮,教你一招搞定 建议收藏...
- java switch 条件_Java 条件之 switch 语句
- css居中的几种方法_css两种常用的不定宽高的水平垂直居中方法,记住它,不再为样式发愁...
- python collections模块_python collections模块
- eplan单线原理图多线原理图_EPLAN-文本
- java 静态库和动态库_Android下Java的静态库和动态库
- BOOST库介绍(六)——容器
- ORA-00091错误的解决方式
- [Linux实用工具]Windows下同步Linux文件(Linux安装Samba和配置)
- 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(47)-工作流设计-补充