CN101169796B - 一种存储文件名及判断文件名超长的方法 - Google Patents
一种存储文件名及判断文件名超长的方法 Download PDFInfo
- Publication number
- CN101169796B CN101169796B CN2007101873575A CN200710187357A CN101169796B CN 101169796 B CN101169796 B CN 101169796B CN 2007101873575 A CN2007101873575 A CN 2007101873575A CN 200710187357 A CN200710187357 A CN 200710187357A CN 101169796 B CN101169796 B CN 101169796B
- Authority
- CN
- China
- Prior art keywords
- length
- filename
- storage
- file
- goal systems
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种存储文件名及判断文件名超长的方法,存储目标系统为存储文件的文件名及所述文件的路径名的总长设置一存储的最大长度;当用户在进行操作时包括以下步骤:首先,将操作对应的物理路径转换为逻辑路径,并计算出操作对应的文件名的长度及文件路径名的长度;然后,获取存储目的路径所在存储目标系统所支持的文件名及文件路径名总长的最大长度;最后,比较所述文件名的长度及文件路径名的长度之和与所述存储目标系统所支持的最大长度,若所述文件名的长度及文件路径名的长度之和大于所述存储目标系统所支持的最大长度,则所述文件名超长。采用本发明的技术方案,能够最大限度地节省存储空间,并增加了系统和用户交互的友好性。
Description
技术领域
本发明属于移动通信领域,尤其涉及文件系统中对文件名的存储及文件名长度的判断方法。
背景技术
在文件管理的程序设计中,对文件名的长度管理是程序设计需要考虑的一个方面。在一个PC和移动终端进行文件上传和下载的系统中,由于移动终端的文件名命名规则和Windows文件命名规则不同,所以就需要对双方的文件名进行管理,这种管理包括文件名的合法性和文件名长度的判断,需要提供一种机制来屏蔽双方对文件名处理的差异性。
Windows对文件名的命名规则是这样描述的:
文件名最多达255个字符;
可使用多间隔符的扩展名,例如:a.b.c.txt作文件名;
可以包括空格,但不能使用:?*″<>/\:|;
不区分大小写字符,不区分中英文;
文件可以不带扩展名;
移动终端的文件名的命名规则和Windows基本上是相同的,唯一的区别是:由于移动终端提供的文件名存储空间限制,所支持的文件名要比Windows短一些。现有的移动终端对文件名长度的判断只从文件名本身来进行,根据存储空间的大小,人为地确定最大的文件名宽度,超过此固定值,则认为文件名超长。且现有技术中对文件路径名的判断也是单独判断,即对文件路径名及文件名分别指定存储的最大长度,当判断文件名及文件路径名是否超长时,是将其与各自设定的标准比较的。例如:在规定最大文件名长度及最大文件路径名长度均为10个字节(即总的存储空间为20个字节)的移动终端文件系统,文件名“01234567890”是超长的;但此时也许文件路径名的长度并未达到最大长度10个字节,因此会浪费部分存储空间;另一方面,由于对文件路径名也规定了存储的最大长度,即使在文件名未达到最大长度的情况下,如文件路径名超长也判定为超长,同样浪费了存储空间,且能够存储的文件夹的层次不可以很深。
此种方法的缺点是不够灵活,用户需要了解移动终端支持的最大文件名长度,而且为了保持所支持最大文件长度的一致性,采用Unicode(宽字符表示法)编码,浪费了存储空间(本来可以保存更多的字符),例如:同样是10个字节的存储空间,若采用宽字符表示,只能表示“专1234”5个字符,而实际上是可以保存“专12345678”9个字符。
而且,现有技术中文件名长度判断都只是简单的判断是否超长,无法给出超长信息,如果要获取超长信息,需要进行多次试验或了解相关文件系统的属性。
发明内容
本发明要解决的技术问题是提供一种存储文件名及判断文件名超长的方法,以解决现有技术中在文件名的存储方式上浪费存储空间,以及在文件名的长度判断上缺乏灵活性的问题。
为了解决上述问题,本发明提供了一种存储文件名及判断文件名超长的方法,其特征在于,存储目标系统为存储文件的文件名及所述文件的路径名的总长设置一存储的最大长度;当用户在进行操作时包括以下步骤:
a将操作对应的物理路径转换为逻辑路径,并计算出操作对应的文件名的长度及文件路径名的长度;
b获取存储目的路径所在存储目标系统所支持的文件名及文件路径名总长的最大长度;
c比较所述文件名的长度及文件路径名的长度之和与所述存储目标系统所支持的最大长度,若所述文件名的长度及文件路径名的长度之和大于所述存储目标系统所支持的最大长度,则所述文件名超长。
进一步地,所述步骤a中还包括,将所述文件名的长度及文件路径名的长度均用字节数表示。
进一步地,所述步骤b中,目的路径所在存储目标系统所支持的最大长度是指:所述存储目标系统支持的文件名与文件路径名总长度对应的字节数。
进一步地,所述步骤c中,若判断出所述文件名超长,则将超出的字节数转换为所述存储目标系统采用的编码方式对应的长度,并告知用户,同时结束本次操作。
进一步地,所述步骤a中还包括,在计算所述文件名及文件路径名的长度之前先对所述文件名在对应的存储目标系统中进行字符合法性判断,若合法则继续本次操作;否则取消本次操作,并告知用户。
进一步地,所述操作是指改变所述文件存储位置的操作。
综上所述,本发明提供了一种存储文件名及判断文件名超长的方法,与现有技术中存储文件名及判断文件名是否超长的方法不同,本发明中存储目标系统对存储的文件名的长度作了与现有技术不同的规定,为文件名及文件路径名统一分配存储空间;而在判断文件名是否超长时,将文件名及文件路径名作为一个整体来判断,只有当文件名及文件路径名的总长超过存储目标系统支持的最大长度时才认为文件名超长,这样,当文件名长度较小时,可以存储的文件路径名可以较长,即文件夹的层次可以扩大;反之,当文件路径名度较小时,可以存储的文件名可以较长。而且,本发明还增加了系统和用户交互的友好性,用户无需关心文件系统所支持的最大长度,对于超长多少位都会有提示,使用户在下一次可以进行合理的操作。
附图说明
图1是本发明具体实施方式的操作流程图。
具体实施方式
本发明提供了一种存储文件名及判断文件名超长的方法,首先是将目的路径的物理路径转换为逻辑路径,转换后,将逻辑文件路径名和逻辑文件名统一进行长度判断,相应地,PC或移动终端等存储目标系统对文件名及文件路径名的存储的长度的规定也进行调整,即将文件名及文件路径名的总长作为判断标准,如果总长超过系统支持的最大长度则判定为超长。
本实施例提供了一种存储文件名及判断文件名超长的方法,首先,存储文件的存储目标系统为存储的文件的文件名及该文件路径名设置统一的存储空间,即为存储的文件的文件名及该文件的路径名的总长设置一存储的最大长度;而当用户每次操作时的步骤如图1所示:
步骤101:用户进行“粘贴”或“拖拽”等操作。将用户操作的物理路径转换为逻辑路径,这里的操作还可以是其它改变文件存放位置的操作。
步骤102:对文件名在对应的存储目标系统中进行字符合法性判断,如果是PC机则进行PC机中的文件名字符合法性判断,如果是移动终端则进行相应的移动终端文件名合法性判断。若合法则继续本次操作,否则取消本次操作,同时告知用户。
步骤103:计算用户操作的文件名的长度及目的路径的路径名长度,具体计算方法同现有技术;
步骤104:获取操作的文件名和目的路径的路径名的编码方式,并将文件名和目的路径的路径名的长度用字节数表示。如果编码方式为宽字符表示法(如Unicode编码方式),则每个字符占用两个字节,如果编码方式为单字符表示法(如ASCII编码方式),则每个字符占用一个字节。操作文件名和目的路径名的编码方式有可能不同。
步骤105:获得目的路径所在存储目标系统所支持的最大长度,该最大长度用字节数表示,这里的字节数只和存储目标文件系统的要求与定义有关,此时存储目标系统支持的最大长度是指文件名与文件路径名的总长度对应的字节数,而不是指支持的文件名最大长度或文件路径名的最大长度。
存储目标系统支持的最大长度可以但不限于是:现有技术中存储目标系统支持的文件名的最大长度对应的字节数加上存储目标系统支持的文件路径名的最大长度对应的字节数。比如:现有技术中,某存储目标系统支持的文件名的最大长度为10个字节,支持的文件路径名的最大长度也为10个字节,那么在本发明中该存储目标系统所支持的最大长度为20个字节。再如,有的终端在包含文件路径名和文件名在内,共支持128字节;Windows的文件系统可认为支持512个字节(因为其最多可以存储256个宽字符)。
步骤106:判断操作的文件名和文件路径名所占的总的字节数是否大于存储目标文件系统所支持的最大长度,是则执行步骤107,否则执行步骤108;
步骤107:把超出的字节数转换为存储目标系统采用的编码方式对应的长度,并告知用户,作为其下一次操作的参考,然后结束本次操作。如:若超出的字节数为20个字节,而存储目标系统采用的编码方式为Unicode编码方式,即宽字符表示法,则超出部分在该编码方式下的长度为10。
步骤108:进行对文件数据的后续操作过程,如“粘贴”或“拖拽”。
Claims (6)
1.一种存储文件名及判断文件名超长的方法,其特征在于,存储目标系统为存储文件的文件名及所述文件的路径名的总长设置一存储的最大长度,为文件名及文件路径名统一分配存储空间;当用户在进行操作时包括以下步骤:
a将操作对应的物理路径转换为逻辑路径,并计算出操作对应的文件名的长度及存储目标系统中的文件路径名的长度;
b获取存储目的路径所在存储目标系统所支持的文件名及文件路径名总长的最大长度;
c比较所述文件名的长度及文件路径名的长度之和与所述存储目标系统所支持的最大长度,若所述文件名的长度及文件路径名的长度之和大于所述存储目标系统所支持的最大长度,则所述文件名超长。
2.如权利要求1所述的方法,其特征在于:
所述步骤a中还包括,将所述文件名的长度及文件路径名的长度均用字节数表示。
3.如权利要求2所述的方法,其特征在于:
所述步骤b中,目的路径所在存储目标系统所支持的最大长度是指:所述存储目标系统支持的文件名与文件路径名总长度对应的字节数。
4.如权利要求3所述的方法,其特征在于:
所述步骤c中,若判断出所述文件名超长,则将超出的字节数转换为所述存储目标系统采用的编码方式对应的长度,并告知用户,同时结束本次操作。
5.如权利要求1所述的方法,其特征在于:
所述步骤a中还包括,在计算所述文件名及文件路径名的长度之前先对所述文件名在对应的存储目标系统中进行字符合法性判断,若合法则继续本次操作;否则取消本次操作,并告知用户。
6.如权利要求1、4或5所述的方法,其特征在于:
所述操作是指改变所述文件存储位置的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101873575A CN101169796B (zh) | 2007-11-20 | 2007-11-20 | 一种存储文件名及判断文件名超长的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101873575A CN101169796B (zh) | 2007-11-20 | 2007-11-20 | 一种存储文件名及判断文件名超长的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101169796A CN101169796A (zh) | 2008-04-30 |
CN101169796B true CN101169796B (zh) | 2012-01-11 |
Family
ID=39390421
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007101873575A Expired - Fee Related CN101169796B (zh) | 2007-11-20 | 2007-11-20 | 一种存储文件名及判断文件名超长的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101169796B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102009045382A1 (de) * | 2009-10-06 | 2011-04-07 | Robert Bosch Gmbh | Verfahren zur Analyse von Dateinamen |
CN103324638A (zh) * | 2012-03-22 | 2013-09-25 | 腾讯科技(深圳)有限公司 | 文件名显示方法及系统 |
CN108108376B (zh) * | 2016-11-25 | 2021-07-09 | 中标软件有限公司 | 一种线性自适应文件名长度调度系统及方法 |
CN112925755B (zh) * | 2021-02-18 | 2024-08-27 | 中科美络科技股份有限公司 | 一种文件系统超长路径智能存储方法及装置 |
US12061527B2 (en) | 2022-07-25 | 2024-08-13 | Dell Products L.P. | System and method for managing network bandwidth for medium and large file sizes stored in a network attached storage system |
US12061523B2 (en) | 2022-07-25 | 2024-08-13 | Dell Product L.P. | System and method for parallelization backup of a folder including a large set of files stored in a network attached storage |
US12007946B2 (en) | 2022-07-25 | 2024-06-11 | Dell Products L.P. | Systems and methods for managing path and file names using a universal connector |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5745902A (en) * | 1992-07-06 | 1998-04-28 | Microsoft Corporation | Method and system for accessing a file using file names having different file name formats |
CN101051319A (zh) * | 2007-05-11 | 2007-10-10 | 北京中星微电子有限公司 | 文件分配系统中的文件名生成方法及生成装置 |
-
2007
- 2007-11-20 CN CN2007101873575A patent/CN101169796B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5745902A (en) * | 1992-07-06 | 1998-04-28 | Microsoft Corporation | Method and system for accessing a file using file names having different file name formats |
CN101051319A (zh) * | 2007-05-11 | 2007-10-10 | 北京中星微电子有限公司 | 文件分配系统中的文件名生成方法及生成装置 |
Also Published As
Publication number | Publication date |
---|---|
CN101169796A (zh) | 2008-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101169796B (zh) | 一种存储文件名及判断文件名超长的方法 | |
CA2530395C (en) | Method and system for updating versions of content stored in a storage device | |
WO2011140763A1 (zh) | Linux系统中语言的切换方法及装置 | |
US7243346B1 (en) | Customized library management system | |
US7367027B1 (en) | System for generating efficient and compact update packages | |
CN102567053A (zh) | 一种软件版本回退的方法及装置 | |
US6910183B2 (en) | File tagging and automatic conversion of data or files | |
CN1809813A (zh) | 利用渴望压缩、故障保险提取和重新启动时压缩扫描来存储固件变量的方法 | |
CN110764895A (zh) | 应用服务动态切换方法、系统、设备及存储介质 | |
CN103390005A (zh) | 一种合并文档的方法与系统 | |
CN111290779B (zh) | 灰度发布方法、装置、存储介质和电子设备 | |
CN101739310A (zh) | 一种循环备份的方法及装置 | |
RU2348062C2 (ru) | Способ и устройство для динамического связывания/динамического разрешения путевых имен | |
JP2012150720A (ja) | ファイル管理装置及びプログラム | |
CN1925654A (zh) | 短信内容超长时转换为Email消息的移动终端及方法 | |
CN1326062C (zh) | 计算机系统和方法 | |
CN111581211B (zh) | 数据表的更新方法、装置、设备及计算机可读存储介质 | |
CN112307369A (zh) | 一种短链接处理方法、装置、终端及存储介质 | |
CN103377206B (zh) | 显示页面内容的方法及浏览器 | |
CN101621857A (zh) | 移动通信终端应用的操作控制方法及应用管理器 | |
GB2454583A (en) | Remote management of mobile devices | |
US6959309B2 (en) | Interface between programming languages and method therefor | |
US20220350576A1 (en) | Compression Of Firmware Updates | |
US7389515B1 (en) | Application deflation system and method | |
CN101551817A (zh) | 一种低冗余数据存储方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120111 Termination date: 20161120 |
|
CF01 | Termination of patent right due to non-payment of annual fee |