我正在使用以下代码来尝试清除Java缓存:
Dim TheFolderPath As String = "C:\Users\%username%\AppData\LocalLow\Sun\Java\Deployment\cache"
'check if the folder exists
If IO.Directory.Exists(TheFolderPath) Then
'delete the folder and all its contents
My.Computer.FileSystem.DeleteDirectory(TheFolderPath, FileIO.DeleteDirectoryOption.DeleteAllContents)
End If
但是,当我运行该工具来测试其功能时,该工具不会删除该文件夹。你能帮忙吗?
答案 0 :(得分:1)
您的路径字符串包含一个环境变量(%username%
),您必须首先expand:
Dim TheFolderPath As String = "C:\Users\%username%\AppData\LocalLow\Sun\Java\Deployment\cache"
TheFolderPath = Environment.ExpandEnvironmentVariables(TheFolderPath)
%username%
是当前登录用户名称的占位符(Windows会自动创建一个环境变量username
,其用户名为login)。但是,在字符串中,占位符只是一个文字字符串%username%
。要实际用环境变量的值替换它,您需要使用上面提到的函数。
答案 1 :(得分:1)
您还可以使用Environment.UserName
属性获取登录用户的用户名,然后使用该IO.Path.Combine()
构建路径。
Dim TheFolderPath As String = IO.Path.Combine("C:\Users", Environment.UserName, "AppData\LocalLow\Sun\Java\Deployment\cache")