如何安全删除java中的文件?我在javafaq.nu上尝试了代码,但问题是,由于这个bug,你在映射后无法真正删除Windows上的文件.
然后我尝试在Windows上使用sysinternals sdelete,但是第一次使用时我必须单击一个使用协议,我想避免使用它.
我正在Windows下用C++ MFC编写桌面应用程序.
应用程序创建索引文件,并一次又一次地向其写入信息.
如果应用程序崩溃,则下次应用程序启动时,它将删除已崩溃的索引文件并创建一个新文件.我认为在某些情况下,索引文件将被锁定.如果我无法删除锁定的索引文件,那将是一场灾难.
我怎样才能保证我可以删除该文件并创建一个新文件?我可以确保没有其他应用程序打开索引文件.仅因应用程序崩溃而无法删除它.
任何人都可以帮忙吗?
我想知道一种使用批处理文件或命令删除只读文件的方法.
假设我有一个名为"abc.dll"的DLL文件,我试图在批处理文件中使用以下命令删除此文件:
del "C:\test\abcd.dll"
Run Code Online (Sandbox Code Playgroud)
它不允许我这样做,它会抛出访问被拒绝的消息.但是,如果我将只读属性更改为非只读属性,则可以成功删除它.
我使用C#.NET,vs 2008,.net 3.5
对我来说,很难,但我需要C#中的示例代码:
例如,在我的问题中.
我尝试删除文件,我得到"进程无法访问文件'XYZ',因为它正被另一个进程使用." 例外.
try
{
File.Delete(infoFichero.Ruta);
}
catch (IOException ex)
{
// ex.Message == "The process cannot access the file 'XYZ' because it is being used by another process."
}
Run Code Online (Sandbox Code Playgroud)
但如果.NET是西班牙语,我会得到"El proceso no puede obtener acceso alarchivo'00000004.PDF'polqueestásiendoutilizado en otro proceso"的消息.
System.IO.IOException: El proceso no puede obtener acceso al archivo '00000004.PDF' porque está siendo utilizado en otro proceso.
en System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
en System.IO.FileInfo.Delete()
Run Code Online (Sandbox Code Playgroud)
我需要一个错误代码用于该异常.在Trace中,我见过System.IO .__ Error.WinIOError(Int32 errorCode,String maybeFullPath)
如何获取IOException的错误代码"进程无法访问文件'XYZ',因为它正由另一个进程使用."
我想删除其路径存储在std::string对象中的文件.我知道remove()在<cstdio>,但它需要一个const char *作为参数.那么有没有直接删除文件的方法,比如将字符串对象作为输入的函数?
我正在为我工作的公司内部使用的其中一个应用程序编写NSIS安装程序,安装过程正常,没有创建所有REG密钥的问题,应用程序使用的文件文件夹和服务也是如此.由于某些原因我无法理解,卸载过程不起作用.
应用程序创建的服务被删除,注册表项,最简单的部分,文件本身,我无法通过卸载程序删除它们!
#Includes
!include "x64.nsh"
#Defines and Installer Properties
Outfile "ESTvnc Installer.exe"
Name ESTvnc
Icon "${NSISDIR}\contrib\graphics\icons\VNCON.ico"
#Detect OS Version
Function .onInit
StrCpy $instdir $PROGRAMFILES
${If} ${RunningX64}
StrCpy $instdir $PROGRAMFILES32
${EndIf}
FunctionEnd
section
SetShellVarContext all
CreateDirectory $instdir\EST\ESTvnc
setOutPath $instdir\EST\ESTvnc
File /r installfiles\*
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\ESTvnc\" \
"DisplayName" "ESTvnc"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\ESTvnc"\
"UninstallString" "$instdir\EST\ESTvnc\uninstaller.exe"
writeUninstaller $instdir\EST\ESTvnc\uninstaller.exe
ExecWait '"$instdir\EST\estvnc\estvnc.exe" -install'
sectionEnd
section "Uninstall"
SetShellVarContext all
SimpleSC::StopService "ESTVNC" 1 30
pop $0
SimpleSC::StopService "ESTVNCSR" 1 30
pop $0
SimpleSC::RemoveService "ESTVNC"
SimpleSC::RemoveService "ESTVNCSR"
RMDir /r …Run Code Online (Sandbox Code Playgroud) 这两个命令之间的真正区别是什么?为什么系统调用删除一个名为unlink而不是delete?的文件?
我正在制作一个具有允许将图像上传到Web服务器的功能的应用程序。将捕获的图像上传到服务器后,该图像将从用户的设备中删除。我可以上传图像,并在检查文件管理器后将其删除。但是当我打开图库时,尽管它显示“无法加载文件”,但它仍然存在。但是,当我检查详细信息时,它会显示图像的大小。那么,如何从文件管理器和图库中完全删除上传的图像?
这是我的代码:
Public Static Boolean deleteDirectory(File path) {
// TODO Auto-generated method stub
if( path.exists() ) {
File files = path;
if(files.isDirectory()) {
deleteDirectory(files);
}
else {
files.delete();
}
}
return(path.delete());
}
Run Code Online (Sandbox Code Playgroud) android image delete-file android-contentprovider android-file
我创建了一个CreateDirectoryW我无法访问的文件夹.我用作nullptr安全描述符,但由于某种原因,它没有复制父文件夹的ACL,而是使文件夹不可访问.
我无法查看或更改所有者.takeown,icacls,SetNamedSecurityInfoW全部来自提升的进程或命令提示,失败ERROR_ACCESS_DENIED.
在尝试Linux live CD之前,我是否有机会在Windows(Shell或C++)中删除此文件夹,希望这些CD不关心ACL?
在bash中,如何删除所有file使用file*但仍保留的文件file.txt?
我试过这个
shopt -s extglob
rm file* !(file.txt)
但file.txt仍然被删除.
PS:我只需要删除以文件开头的文件file,而不是所有文件.我想要一个名为food.txt仍保留的文件.
delete-file ×10
file ×3
c++ ×2
android ×1
android-file ×1
bash ×1
batch-file ×1
c# ×1
cmd ×1
error-code ×1
image ×1
ioexception ×1
java ×1
locking ×1
mfc ×1
nsis ×1
security ×1
system ×1
ubuntu ×1
unix ×1
unlink ×1
wildcard ×1
winapi ×1
windows ×1
windows-10 ×1