Tag: 文件系统

尝试删除文件时AccessControlException

我们有一个使用log4j进行日志记录的java Web服务应用程序。 当log4j尝试删除其滚动日志文件时,会抛出exception Exception:java.security.AccessControlException: access denied (java.io.FilePermission /var/opt/SUNWappserver/domains/domain1/ applications/j2ee-modules/ourwebservice/WEB-INF/logs/IMWrapper.log.10 delete) 当我们在目录中执行ls ,服务帐户有权读取和写入文件和目录。 从一些初始谷歌搜索看来,我们可能不得不更改security.policy文件以允许服务删除文件。 有什么建议么?

即使文件扩展名已更改,如何识别文件类型?

文件按文件扩展名分类。 所以我的问题是,即使文件扩展名已被更改,如何识别文件类型。 例如,我有一个名为myVideo.mp4的video文件,我已将其更改为myVideo.txt 。 因此,如果我双击它,首选文本编辑器将打开该文件,并且不会打开确切的内容。 但是,如果我在video播放器中播放myVideo.txt ,video将播放没有任何问题。 我只是想开发一个应用程序来确定文件的类型,而不检查文件扩展名并建议打开文件的软件。 我想用Java开发应用程序。

在Java 7中调整默认文件系统的行为

Java 7为编写自定义文件系统引入了一个很棒的API。 考虑一个我不想实现新文件系统的用例,我只想调整现有文件系统的行为。 例如,翻转从其写入/读取的每个位。 在我看来,目前的jdk没有适当的设施。 AbstractFileSystemProvider,WindowsFileSystemProvider扩展的提供程序是包私有的,所以我不能重用它。 我甚至没有找到Linux的具体实现。 问题#1:当前文件系统没有用于扩展的有用抽象。 我们假设我只针对Windows扩展。 WindowsFileSystemProvider是公共的,所以我实际上可以轻松地覆盖newByteChannel并完成它。 可惜! 问题2:WindowsFileSystem 不公开,所以我实际上只需要编写一个全新的FileSystem来引入一个新的Provider。 我是否遗漏了某些内容,或者此function是否完全原始且未准备好供应用程序编写者使用?

什么文件系统支持Java UserDefinedFileAttributeView?

我需要将自定义数据与文件系统中的文件一起存储(每个文件大约50个字节)。 我没有任何其他存储来保存数据,也无法为此创建额外的文件。 这些是我的要求我无法改变它。 我发现这可以使用UserDefinedFileAttributeView类来完成。 哪些文件系统支持此function? NTFS,FAT,Linux上的任何其他文件系统? 数据实际存储的位置和可靠性如何?

加快文件系统访问速度?

我的应用扫描部分文件系统,我的用户报告说扫描网络驱动器时速度非常慢。 测试我的代码,我发现了瓶颈:方法File.isFile() , File.isDirectory()和File.isHidden() ,它们都调用fs.getBooleanAttributes(File f) 。 在Windows网络驱动器上,此方法似乎非常慢。 如何提高性能? 我可以避免以某种方式调用此方法吗?

Java7 nio2的任何可用的内存中FileSystem实现?

我一直在寻找内存中的nio2 FileSystem实现,这将使我能够更轻松地测试我的IO相关代码。 在Win32FileSystem ,Java只提供(在我的JDK中) Win32FileSystem和ZipFileSystem 。 似乎ShrinkWrap有类似的东西,但似乎主要处理ZIP文件系统或任何。 我猜你们有些人已经在你自己的项目中加入了新的nio FileSystem IO,可以帮助我吗? 谢谢

Java Tree用于表示路径列表中的文件系统(files / dir)

我有这样的路径列表 /mnt/sdcard/folder1/a/b/file1 /mnt/sdcard/folder1/a/b/file2 /mnt/sdcard/folder1/a/b/file3 /mnt/sdcard/folder1/a/b/file4 /mnt/sdcard/folder1/a/b/file5 /mnt/sdcard/folder1/e/c/file6 /mnt/sdcard/folder2/d/file7 /mnt/sdcard/folder2/d/file8 /mnt/sdcard/file9 因此,从这个路径列表(Stings)我需要创建一个Java Tree结构,其中包含文件夹作为节点,文件作为leaf(不会将空文件夹作为叶子)。 我需要的是我想的是add方法,我向它们传递一个String(文件的路径),然后将它添加到树中的正确位置,如果它们不在那里,则创建正确的节点(Folder) 当我在节点和叶子列表上时,这个树结构将需要我获取节点列表(但我认为这将是树的常规function) 我将始终将字符串作为路径而不是真正的文件或文件夹。 是否有可以使用的东西或源代码开始? 非常感谢你。

如何让OS X识别驱动器号?

我知道。 异端。 但我陷入困境。 我有很多使用绝对路径名的配置文件,这会在OS X和Windows之间产生不兼容性。 如果我能够将OS X(我认为两者中的灵活性更灵活)识别为Q:/foo/bar/bim.properties作为有效的绝对文件名,那么它将节省我通过堆栈的工作天数跟踪和配置文件。 最后,我需要这些Java测试代码来打印“SUCCESS!” 当它运行时: import java.io.*; class DriveLetterTest { static public void main(String… args) { File f = new File(“S:”); if (f.isDirectory()) { System.out.println(“SUCCESS!”); } else { System.out.println(“FAIL!”); } } } 任何人都知道如何做到这一点? 更新:感谢所有人的反馈。 现在对我来说很明显,我的问题应该更加明确。 配置文件和使用它们的代码都属于我无法更改的第三方软件包。 (好吧,我可以改变它们,但这意味着会产生持续的维护负荷,如果可能的话我想避免这种情况。) 我完全同意所有对这种状况感到震惊的人。 但事实仍然是:我无法更改第三方代码,我真的想避免分配配置文件。

可以同时安全地访问ehcache diskstore吗?

我看到DiskStore位置有一个.lock文件。 我一直都明白,使文件IOprimefaces化是困难的,有时甚至是不可能的。 所以,我的期望是多个应用程序无法安全地使用相同的ehcache DiskStore。 但是,锁文件让我很奇怪。 除了性能瓶颈,它可以工作吗? 上下文:我想知道运行相同应用程序的两个Java Servlet上下文是否可以共享DiskStore。

System.getProperty(“key”)从何处(哪个属性文件)读取?

我的应用程序使用String str = System.getProperty(“key”,”default”); 总是返回默认值,因为我无法在属性文件中设置键值对。 我尝试在位于users-> appdata-> locallow-> sun-> java>部署的deployment.properties文件中设置它,并直接将key = value放在java控制面板中的runtime参数中但不起作用。 请帮我正确设置,或者如果存在要设置这些值的不同属性文件,请分享路径? 我谷歌但是找不到。谢谢你 编辑:我们使用jeety服务器进行部署。我们有很多属性文件与我们的源代码捆绑在一起。