获取到解析的字符串,可能也会有文件和文件夹。无法用空格去划分(文件或文件夹中可能出现空格的不可控因素)像这种unix格式的要怎么解析?
要求 1.区分文件和文件夹 2.获取文件名(文件夹名)
-rwxrwxrwx 1 owner group 19041660 May 25 2004 VC.ESn
drwxr-xr-x 1 ftp ftp 0 Mar 30 2020 InputErpSql_V2.3.0.200316 _XM
……
其实拿到的就是个字符串,项数也是固定的,权限,属组,大小,日期,文件名
看楼上你的纠结点是项跟项之间的空格,你直接正则(\s+)分割一下就好了,就是拿连续空格进行分割
分割之后得到的串连带着 文件/文件夹也被分割了,谁也不知道文件/文件夹中有几个空格。也不可能只靠一个年份的字符串就来截断(drwxr-xr-x 1 ftp ftp 0 Mar 30 2020 InputErpSql_V2.3.0.200316 _XM),文件名中也有可能是( InputErpSql_V2.3.0.20200316 _XM)
d开头的是文件夹,最后一列是文件或文件夹名称
以第二条为例,(InputErpSql_V2.3.0.200316 _XM)文件或者文件夹中可能包含空格,要从哪里开始截断字符串
@大神带带我吧: 母鸡了
没看错的话,2020 空格后面的就全部都是文件/文件夹名了。
没有规范化的字符分割,这样截取的名称容易出错。每个分割字符串中间的空格数也不知道是不是固定的。 难道真要对整个字符串空格分割,再拼接成(drwxr-xr-x 1 ftp ftp 0 Mar 30 2020)去查找索引标记找出剩下的文件名吗
@大神带带我吧:
不明白你在说什么。
前面的所有项目都是确定的,只有最后一个名字是不确定的啊。
@爱编程的大叔: drwxr-xr-x 1 ftp ftp 0 Mar 30 2020 InputErpSql_V2.3.0.200316 _XM
需要确认每个项之间的空格数 (drwxr-xr-x与 1,1与ftp ……间有几个空格),每一个项之间的空格数要确认下来才有可能得到前面的字符串。由此得到后面的文件/文件夹名