Test file name

本文提供了一个使用Java进行文件操作的简单示例,包括创建目录和文件的过程。代码展示了如何生成特定路径及文件名,并创建对应的文件。

public static void main(String[] args) throws Exception {
File dir = new File("c:/mockData/com.taobao.client.sys.getAppToken_@");
dir.mkdirs();

String fileName = "sign=8a0068b0034e2390e7357adb226abf1e&ttid=201200@taobao_iphone_2.2.1&t=20120516103748&imei=124c55bcb65d31518aecd17abcdede2a5892ee24&data={\"key\":\"18758032928\"}&imsi=0987654321&authType=md5&appKey=12087020.txt";
fileName = fileName.replace("\"", "aa");
fileName = fileName.replace(":", "bb");
File f = new File(dir, fileName);
f.createNewFile();
}

关于 `resourceFilename` 上下文键的使用,以下是深度解析和实用指南: --- ### **1. 核心概念** `resourceFilename` 是 VS Code 的上下文键,表示 **带有扩展名的完整文件名**,特点如下: - **格式**:`文件名.扩展名`(如 `main.c`) - **来源**:自动从 `resourceUri` 或当前活动编辑器提取 - **大小写敏感**:取决于操作系统(Windows 不敏感,Linux/Mac 敏感) --- ### **2. 典型应用场景** #### (1) 基础文件名匹配 ```json // 精确匹配 main.c 文件 "when": "resourceFilename == 'main.c'" // 匹配所有 .c 文件 "when": "resourceFilename.endsWith('.c')" ``` #### (2) 正则表达式匹配 ```json // 匹配 main.c/main.cpp(忽略大小写) "when": "resourceFilename =~ /^(?i)main\\.(c|cpp)$/" // 匹配类似 config.* 的文件 "when": "resourceFilename =~ /^config\\..+/" ``` #### (3) 组合条件 ```json // 匹配 src/ 下的 C 语言头文件 "when": "resourceFilename.endsWith('.h') && resourceLangId == 'c' && resourcePath =~ /\\/src\\//" ``` --- ### **3. 调试技巧** #### 检查实际值: ```javascript // 方法1:通过 Inspect Context Keys 1. 按 Ctrl+Shift+P 2. 执行 "Developer: Inspect Context Keys" 3. 点击目标文件 // 方法2:代码打印 console.log(vscode.window.activeTextEditor?.document.fileName); ``` #### 常见问题排查: | 现象 | 可能原因 | 解决方案 | |------|----------|----------| | 条件不生效 | 拼写错误(如 `resoureFilename`) | 检查拼写 | | 无法匹配大小写 | 未使用正则 `(?i)` | 改用正则或统一大小写 | | 扩展名不识别 | 文件未保存/未关联语言 | 保存文件或配置语言模式 | --- ### **4. 高级用法** #### 动态菜单示例: ```json // 对测试文件显示额外菜单 { "command": "extension.runTest", "when": "resourceFilename =~ /_(test|spec)\\.[^.]+$/", "group": "navigation" } ``` #### 多条件组合: ```json // 仅在满足以下条件时显示: // - 是 .js 文件 // - 位于 /lib/ 目录 // - 当前 Git 分支为 dev "when": "resourceFilename.endsWith('.js') && resourcePath =~ /\\/lib\\// && git:branch == 'dev'" ``` --- ### **5. 与其他键的对比** | 上下文键 | 示例值 | 特点 | |----------|--------|------| | `resourceFilename` | `main.c` | 包含扩展名 | | `resourceExtname` | `.c` | 只有扩展名(带点) | | `resourceBasename` | `main` | 无扩展名 | | `resourcePath` | `/project/src/main.c` | 完整路径 | ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值