Windows中不允许用来创建文件名或者目录名的字符及字符串

Windows提示说这些字符不允许用在文件名或者目录中:

/   /   :   *   ?   "   <   >   | 


今天使用C#的Path.GetInvalidFileNameChars()Path.GetInvalidPathChars()打印出了所有不能使用的字符列表:

不能用来创建文件名的字符:

" < > |     [回车符]      : * ? / /

 

不能用来创建文件夹的字符:
" < > |      [回车符]    

 

同时,还有一些windows的设备名称也不能使用:

CON,PRN,AUX,CLOCK$,NUL,COM1,COM2,COM3,COM4,COM5,COM6,COM7,COM8,COM9,LPT1

 

 

### 回答1: 在 Dart ,可以使用 `path.basename` 函数来从路径的字符串取出文件或文件夹的字。 示例代码: ``` import 'package:path/path.dart' as path; void main() { // 获取文件 String fileName = path.basename('/path/to/file.txt'); print(fileName); // 输出:file.txt // 获取文件夹 String dirName = path.basename('/path/to/dir'); print(dirName); // 输出:dir } ``` 注意:如果要获取文件夹,需要确保路径字符串以文件夹路径结尾(即以 `/` 结尾),否则会返回文件。 你也可以使用 `path.dirname` 函数来获取路径目录名(即除去文件或文件夹的部分)。 示例代码: ``` import 'package:path/path.dart' as path; void main() { String dirName = path.dirname('/path/to/dir/'); print(dirName); // 输出:/path/to } ``` 最后,如果你只想获取文件的扩展,可以使用 `path.extension` 函数。 示例代码: ``` import 'package:path/path.dart' as path; void main() { String fileExtension = path.extension('/path/to/file.txt'); print(fileExtension); // 输出:.txt } ``` ### 回答2: 在Dart,可以使用Dart的内置函数和类来从一个路径的字符串取出文件或者文件夹的字。 要取出文件,可以使用Dart的`basename`函数。该函数位于`dart:io`库,并且需要通过导入`dart:io`来使用使用该函数时,需要传入一个完整的文件路径字符串作为参数,它会返回路径的文件部分。下面是一个示例代码: ```dart import 'dart:io'; void main() { String filePath = '/path/to/file.txt'; String fileName = basename(filePath); print('File name: $fileName'); } ``` 上述代码的输出结果将是`File name: file.txt`。 而要取出文件夹的字,可以使用Dart的`dirname`函数。同样,这个函数也位于`dart:io`库,需要通过导入`dart:io`来使用。`dirname`函数接受一个完整的文件路径字符串作为参数,它会返回路径的文件夹的字部分。下面是一个示例代码: ```dart import 'dart:io'; void main() { String filePath = '/path/to/file.txt'; String folderName = dirname(filePath); print('Folder name: $folderName'); } ``` 上述代码的输出结果将是`Folder name: /path/to`。 通过使用`basename`和`dirname`函数,我们可以轻松地从一个路径的字符串取出文件或者文件夹的字。 ### 回答3: 在Dart,可以使用`package:path/path.dart`库提供的`basename()`函数来从路径字符串提取文件或文件夹的字。 要从路径字符串取出文件,可以使用如下代码: ```dart import 'package:path/path.dart' as path; void main() { String filePath = "/path/to/file.txt"; String fileName = path.basename(filePath); print(fileName); // 输出:file.txt } ``` 要提取文件夹的字,可以使用`basename()`函数的可选参数`dirname`来指定路径的父目录,然后再次调用`basename()`函数来获取文件夹。例如: ```dart import 'package:path/path.dart' as path; void main() { String directoryPath = "/path/to/folder/"; String folderName = path.basename(directoryPath); print(folderName); // 输出:folder } ``` 上述代码,`basename()`函数会返回路径字符串的最后一部分作为文件或文件夹。如果路径以斜杠(/)结尾,则`basename()`函数将返回空字符串。 需要注意的是,为了使用`basename()`函数,需要先在`pubspec.yaml`文件添加`path`库的依赖,并运行`dart pub get`命令来获取库的最新版本。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值