问题标签 [temporary-directory]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 我应该如何处理我的 Dispose() 方法中的异常?
我想提供一个类来管理临时目录的创建和后续删除。理想情况下,我希望它可以在 using 块中使用,以确保目录被再次删除,无论我们如何离开块:
创建目录没有问题。问题是如何编写 Dispose 方法。当我们尝试删除目录时,我们可能会失败;例如,因为我们仍然在其中打开了一个文件。但是,如果我们允许异常传播,它可能会掩盖在 using 块内发生的异常。特别是,如果 using 块内部发生异常,可能是导致我们无法删除目录的异常,但如果我们屏蔽它,我们就丢失了修复问题的最有用信息。
看来我们有四个选择:
- 尝试删除目录时捕获并吞下任何异常。我们可能没有意识到我们未能清理我们的临时目录。
- 以某种方式检测 Dispose 是否在引发异常时作为堆栈展开的一部分运行,如果是,则抑制 IOException 或引发合并 IOException 和引发的任何其他异常的异常。甚至可能都不可能。(我之所以想到这一点,部分原因是它可以使用 Python 的上下文管理器,它在很多方面类似于与 C# 的 using 语句一起使用的 .NET 的 IDisposable。)
- 永远不要抑制 IOException 无法删除目录。如果在 using 块中抛出异常,我们将隐藏它,尽管它很有可能比我们的 IOException 具有更多的诊断价值。
- 放弃在 Dispose 方法中删除目录。该类的用户必须继续负责请求删除目录。这似乎不能令人满意,因为创建类的很大一部分动机是减轻管理此资源的负担。也许还有另一种方法可以提供此功能而不会很容易搞砸?
这些选项之一显然是最好的吗?有没有更好的方法在用户友好的 API 中提供此功能?
bash - shell脚本中临时目录中的临时操作
我需要一个新的临时目录来在 shell 脚本中做一些工作。工作完成后(或者如果我中途终止工作),我希望脚本更改回旧的工作目录并清除临时目录。在 Ruby 中,它可能看起来像这样:
在 Bash 脚本中这样做最划算的是什么?
这是我目前的实现。有什么想法或建议吗?
python - 在python中使用“临时文件”文件夹
我最近写了一个脚本来查询 PyPI 并下载一个包;但是,包会被下载到用户定义的文件夹中。
如果未指定文件夹,我想修改脚本,使我下载的文件进入临时文件夹。
*nix 机器中的临时文件文件夹是 "/tmp" ;是否有任何 Python 方法可以用来找出特定机器中的临时文件文件夹?
如果没有,有人可以建议这个问题的替代方案吗?
haskell - 在 Haskell 中创建一个临时目录
在 Haskell 中安全地创建临时目录的正确方法是什么? System.IO
提供了创建临时文件的方法,但我找不到任何对目录有相同作用的东西,无论是 there 还是 in System.Directory
、System.Posix.Directory
或System.Posix.Temp
. 有没有我忽略的功能,还是我需要自己写一个?(如果是这样,是否有任何危险需要避免,例如创建临时文件?)
python - 如何创建临时目录并获取其路径/文件名?
如何在 Python 中创建一个临时目录并获取其路径/文件名?
c++ - 如何在 C++ 中创建一个临时目录?
我正在用 C++ 编写一个创建临时目录的函数。这样的功能应该尽可能地便携,例如它应该在linux、mac和win32环境下工作。我该如何做到这一点?
c# - 无法生成临时类
我最近将我的机器升级到 XP 64 位并且还对我们的软件进行了一些代码更改,当我这样做时new XmlSerializer(valueType)
,valueType
正在使用的类型在哪里DirectoryItem
,我收到以下错误:
无法生成临时类(结果=1)。错误 CS0012:类型“XYZ.Blob.DirectoryItem”在未引用的程序集中定义。您必须添加对程序集“XYZ.Services.Blob,Version=1.0.0.0,Culture=neutral,PublicKeyToken=null”的引用。
我真的不明白为什么它会显示此错误。该 dll 位于 src 文件夹中,并且完全相同的应用程序在同一台机器(以前的版本)上运行没有问题。
如果您有任何想法,我怎么能找到它给出的这个错误,这将是很好的。
linux - 更改 linux 中的临时文件夹位置(对于系统上的所有内容)?
目前它的 /tmp
如何将其设置为 /anythingelse 以便所有应用程序随后使用它?
makefile - 如何在 Makefile 中获取我的 make 命令的 pid?
我想使用这个构建唯一的临时目录。如何在 Makefile 中获取 make 命令的 pid?
我试过了:
但这似乎存储TEMPDIR
为/tmp/myprog.$$
然后 eval 作为每个引用它的命令的新 pid!我如何为所有这些获得一个 pid(我更喜欢 make pid,但任何独特的都可以)。
提前致谢。
ubuntu - 在 ubuntu 10.04 的 /tmp/ 中创建一个永久文件夹
如何在ubuntu的临时文件夹中创建一个永久文件夹?电脑关机时不会被删除,而且每次电脑重启都不需要重复这个过程