草庐IT

FileSystems

全部标签

java - 使用 .. 父目录说明符 ("dot dot"解析路径名)而不解析符号链接(symbolic link)

给定像/a/./b/c/../d这样的路径,我想删除所有“当前目录”指示符(即句点)和“父目录”指标(即..),给出a/b/d。我可以使用File.getCanonicalPath(),但这也会解析我不想要的符号链接(symboliclink)。有什么简单的方法吗?也就是说,比编写分词器并自行处理更简单。如果您能告诉我“.”的正确名称,可加分和'..'在这种情况下。 最佳答案 Guava也有这个作为Files.simplifyPath(String).不过,您最好的选择(如果您可以使用JDK7)是将您的路径表示为Path并使用Pat

java - 如何在 Mac OS X 上获取文件类型?

我正在使用这段代码来获取文件类型-FileSystemViewfilesystem=FileSystemView.getFileSystemView();StringsFileType=filesystem.getSystemTypeDescription(file))在Windows下,这段代码可以处理文件,正确显示文件类型。但在MacOSX下,此代码不显示任何内容。方法getSystemTypeDescription说:OverrideforplatformswithnativeShellFolderimplementations.如何在MacOSX上获取文件类型?

java - 非数据库应用事务

如何将非数据库操作封装到事务中?例如,假设我有一些顺序调用的方法/函数,一些更新数据库,一些更新文件系统上的文件,一些更新HttpSession中的参数,一些更新缓存等。如果是后者那些失败了,比如更新session,我如何回滚文件系统、数据库等中的所有其他更改?环境是一个JavaServlet容器,如Tomcat,带有Struts2之类的东西,任何RDBMS,一个持久层,如Hibernate或Ibatis,等等。 最佳答案 所有这些都必须是事务性资源,能够参与两阶段提交协议(protocol),以便执行您想要的操作。除非您的代码中有

asp.net - 以编程方式更新 ASPX 文件的日期戳

将新的数据库记录添加到ListView时,出于SEO目的,我想更新包含ASPX页面的日期/时间戳。这可能吗?我该怎么做?更新:我找到了适用于Windows的Touch,但我仍然更喜欢任何一种聪明的hack,只是以编程方式执行此操作:http://www.softpedia.com/get/System/File-Management/Touch-for-Windows.shtml 最佳答案 或者,您可以尝试设置响应的最后修改header。 关于asp.net-以编程方式更新ASPX文件的

c++ - 如何保证在运行时解密的文件被清理干净?

使用C或C++,在我将文件解密到磁盘后-如果应用程序崩溃或系统断电并且无法正确清理它,我如何保证它被删除?在Windows和Linux上使用C或C++? 最佳答案 不幸的是,没有100%万无一失的方法来确保在整个系统崩溃的情况下删除文件。想一想如果用户在文件在磁盘上时拔下插头会发生什么。再多的异常处理也无法保护您免受这种(最坏的)情况的影响。你能做的最好的事情就是首先不要将解密文件写入磁盘。如果文件以加密和解密两种形式存在,则表明您的安全存在薄弱环节。您可以做的下一个最好的事情是使用Brian的结构化异常处理建议来确保清理临时文件。

c++ - 在 cmd pmt 中执行带空格的文件名 从 C++ 程序传递

我目前正在努力让我的程序执行一个程序(例如powerpoint),然后在它旁边添加我要打开的文件的路径。我的程序使用以下方法获取文件路径:dirIter2->path()我得到程序和文件的2个路径,将它们合并为一个字符串并将它们传递到以下内容中:系统(PathTotal.c_str())这很好用,但我唯一的问题是,当文件名中有一个空格时,命令提示符说找不到文件(因为它认为文件名在到达第一个空格时结束。我已经试过了用引号将其包装起来,但它是需要包装的实际文件名。(例如,我试过“C:\users\bob\johniscool”但它需要像这样:C:\users\bob\“johniscool

c++ - 带有 Boost.Filesystem 的 InDesign 插件没有出现在程序中

我尝试使用Adob​​eSDK开发自定义InDesign插件。一切都很好,直到我从Boost.Filesystem添加了一些功能。当我将boost_filesystem和boost_system静态链接到解决方案时,所有构建和插件都已编译,但InDesign不会加载它。删除它们后,它会再次出现在InDesign中。有谁知道为什么会发生这种情况以及如何解决这个问题? 最佳答案 检查boost构建命令可能有用boost可以通过到c运行时的静态链接或到c运行时的动态链接来构建我认为你应该静态链接到C运行时bjam--with-filesy

c++ - 使用 boost 创建相对路径

我正在尝试使用boost创建相对路径。我最初的计划是:stringbase_directory;//inputboost::filesystem::pathbase_path;stringother_directory;//inputboost::filesystem::pathother_path;//assumebase_pathisabsolute-didthatalready(usingcomplete()//ifpathisrelative,torootitinthecurrentdirectory)->base_directory=base_path.string();if

c++ - 有没有办法包含 std::filesystem 的转发 header ?

与iostreams具有forward-includeheader的方式相同#include一个只有声明的header,我认为文件系统也会有一个。但是我找不到。我有一个类用filesystem::pathconst&声明了一个成员函数作为论点,把整个#include都带进来似乎有点矫枉过正。只是为了得到path.#include//or#include...structA{...voidsave(std::experimental::filesystem::pathconst&p);} 最佳答案 有这样的标题吗?没有。你能做这样的标

c++ - 是否有类似 Filestorage 类的东西来存储文件?

是否有类似类的东西可以用来存储文件和目录,就像Zip文件的使用方式一样?因为我还没有找到任何“真正的”类来编写Zip文件(真正的类,如真正的类),如果能够将文件和目录存储在类似容器的文件中,那就太好了。一个完美的API可能是这样的:intmain(){ContainerFilecntf("myContainer.cnt",ContainerFile::CREATE);cntf.addFile("data/some-interesting-stuff.txt");cntf.addDirectory("data/foo/");cntf.addDirectory("data/bar/",Co