草庐IT

filesystems

全部标签

java - 哪些文件系统支持 Java UserDefinedFileAttributeView?

我需要用文件系统中的文件存储自定义数据(每个文件大约50个字节)。我没有任何其他存储来保存数据,也无法为此创建额外的文件。这些是我的要求,我无法更改。我发现这可以使用UserDefinedFileAttributeView类来完成。哪些文件系统支持此功能?Linux上的NTFS、FAT或任何其他文件系统?数据的实际存储位置及其可靠性如何? 最佳答案 我已经通过UserDefinedFileAttributeView测试了以下文件系统支持自定义属性:NTFS、Ext4、ZFS。其他流行的文件系统也可能支持它们。在以下文件系统FAT32

设置 "user.dir"时 Java : File. exists() 不一致

JRE6,在WindowsXP上。用不同的构造函数实例化两个File对象会导致File.exists()方法中的结果不一致。免责声明:下面的代码是抽象的,不是实际的代码。我根本不相信这是一个File.separator问题。我首先要求得到早期的react,以防我错过了一个很好理解的问题。现在看来,重置user.dir系统属性是导致此问题的原因之一。下面的代码现在可以按原样重现和使用。您可以复制/粘贴Java类并尝试它,它的行为应该与我列出的结果一致。设置:创建文件夹架构C:\toto\tmp\sub。从任何不包含tmp/sub子文件夹架构的文件夹中启动以下类。代码:publicclas

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++ - Boost.Filesystem 和 C++ 标准文件系统库有多相似?

我需要一个文件系统库,以便与支持C++11的编译器或支持C++14的编译器一起使用-所以它不能来自C++17。现在,我知道进入C++17的文件系统库是基于Boost::Filesystem的;但是-它们是否足够相似,让我可以使用Boost库,然后在以后无缝切换到标准版本,而不需要改变,比如using语句?或者两者之间是否存在(次要/重大)差异?我知道对于variant,Boost和标准库版本有很大不同。 最佳答案 有许多不同之处。我相信,有些是从未传播过的Boost更改。例如,没有path.filename_is_dot()查询(如

c++ - boost::filesystem::create_directories();将文件夹添加到陌生位置

我正在使用boost创建一个目录来放置一些临时文件。intmain(intargc,char*argv[]){std::cout现在,如果双击该exe,文件夹"TempFolder"将在与exe相同的目录中创建,这是我所期望的。但是,如果我现在将一个文件拖到exe上,该文件夹将在"C:\DocumentsandSettings\0xC0DEFACE"中创建,这是我当然没有想到的。看到我的应用程序没有改变,正在打印的目录也没有改变,我的应用程序当前忽略传递的字符串,为什么现在在新目录中创建文件夹?我正在运行带有VS9的WindowsXP,并且我正在使用boost1.39。

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

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