草庐IT

file_update_protection

全部标签

java - 当目标路径是目录时,Files.newInputStream() 的无关紧要的行为?

注意:请运行下面的确切代码;不要对其进行改编,特别是不要使用File,因为此错误与新的java.nio.fileAPI相关好吧,这不是一个真正的“需要答案的问题”,而是一个需要证人的电话……场景:在你的操作系统上有一个目录,不管它是什么,你知道你有访问权限——用Unix的说法,你至少有读取权限(这意味着你可以列出其中的条目);在下面的代码中,假设System.getProperty("java.io.tmpdir")表示的路径符合要求;安装了OracleJDK或OpenJDK7+;这样您就可以使用java.nio.file。现在,下面的代码做的很简单:它尝试openanewInputS

java - 我可以相信 Files 中的方法会在预期时抛出 NoSuchFileException 吗?

java.nio.file.FilesAPI是对旧的java.io.File类的一个非常好的改进,但有一个细节让我感到奇怪;除了delete()没有方法记录它们可能会抛出NoSuchFileException,甚至delete()都说这是可选的。我希望能够区分由于丢失文件和其他IO问题导致的失败,但似乎不能保证这可能。如果文件是在两个操作之间创建的,则预先调用Files.exists()等方法的替代方法会冒竞争条件的风险。我能否期望Files中的方法会在适当的时候引发NoSuchFileException?如果是这样,这在哪里记录?如果不是,我如何安全地确定故障是由于文件丢失造成的?示

Java file.getPath() 返回语言修改路径

我需要用fileChooser.getSelectedFile()方法但是它总是返回语言修改路径,因为一些目录在osX中被翻译。例如,文件夹“/Downloads”被翻译成我的系统语言“/Stiahnuté”,但实际路径是“/Downloads”返回:/Users/John/Stiahnuté期待/Users/John/Downloads如果我选择了一些子目录,那么fileChooser.getSelectedFile()会再次返回正确的路径。看起来总是只翻译路径中的最后一个目录/Users/John/Downloads/subDirectory代码:saveButton.addAct

java - Spring Boot - 大量无效请求和套接字接受失败 java.io.IOException : Too many open files

我的机器运行着Spring(SpringBoot1.5.2.RELEASE)应用程序。最近我在我的日志文件中收到了很多警告:.w.s.m.s.DefaultHandlerExceptionResolver:FailedtoreadHTTPmessage:org.springframework.http.converter.HttpMessageNotReadableException:Couldnotreaddocument:null;nestedexceptionisjava.net.SocketTimeoutException我已经检查过tcpdump并且很多请求没有正文(空/空)

java - 帮助理解 protected 方法的问题

我正在阅读SybexCompleteJava2CertificationStudyGuide2005年4月(ISBN0782144195)。本书适用于想通过java认证的java开发者。在关于访问修饰符(以及其他修饰符)的一章之后,我发现了以下问题(#17):Trueorfalse:IfclassYextendsclassX,thetwoclassesareindifferentpackages,andclassXhasaprotectedmethodcalledabby(),thenanyinstanceofYmaycalltheabby()methodofanyotherinsta

java - 如果可能的话,是否有一种工具可以使所有类包都 protected 和最终?

背景:我注意到在许多项目中,几乎所有内部​​代码中的类都是公开的而不是最终的,即使它们不需要。然而,对我来说,不默认做出这个决定似乎是明智的,但只有当它们实际上是为了从系统的其他部分使用时才公开类。拥有包保护类是一种在模块之间强制执行边界的简单机制,并可作为类预期用途的文档。如果有一个(最好是免费的:-)工具来保护所有可以在不破坏程序的情况下被保护的类,并且可能使所有没有子类的东西成为最终的,那将是开始有意识地使用保护机制。(当然你需要事后调整。)你知道这样的工具吗?警告:我知道有更好的模块化机制,如OSGI和计划中的super包等。但在许多当前项目中,这不是一个选项,使用普通的旧Ja

为 glob 或类似 Ant 的模式 "*foo/**/*.txt"返回 List<File> 的 Java 库?

我正在寻找一个库,它会提供一种方法,该方法会给我一个匹配给定类Ant模式的文件列表。对于*foo/**/*.txt我会得到foo/x.txtfoo/bar/baz/.txtmyfoo/baz/boo/bar.txt等我知道这可以通过DirWalker和PathMatchermat=FileSystems.getDefault().getPathMatcher("glob:"+filesPattern);,但我更喜欢一些维护的库。我希望CommonsIO拥有它,但没有。更新:我很高兴重用Ant的代码,但更喜欢比整个Ant更小的东西。 最佳答案

java - 在 Java 中 : "Too many open files" error when reading from a network path

我有下面的代码,它只是从一个文件夹中读取所有文件。此文件夹中有20,000个文件。该代码在本地文件夹(d:/files)上运行良好,但在读取大约1,000-2,000个文件后在网络路径(//robot/files)上运行失败。更新:文件夹是彼此的副本。导致此问题的原因以及如何解决?packagecef_debug;importjava.io.*;publicclassMain{publicstaticvoidmain(String[]args)throwsThrowable{Stringfolder=args[0];File[]files=(newFile(folder)).listF

java - 静态方法的 protected 修饰符的目的是什么

我发现了protected的这种用法为我的其他问题寻找解决方案时的修饰符:IgnoringcaseinstringswithunitilsReflectionComparator在org.unitils.reflectionassert.ReflectionComparatorFactory类有一个带有签名的方法:protectedstaticListgetComparatorChain(Setmodes)但这只是特例。毕竟我们总是可以扩展这样的任何非最终类并“覆盖”它是静态的protected新方法public修饰符。说,我们有一个类A:publicclassA{protecteds

java - Files.copy(Path,Path) 是否创建目录?

我的Java程序目录(C:/Users/java/dir1)下有一堆文本文件(比如ss1.txt、ss2.txt、ss3.txt等)?我想将我的txt文件移动到一个尚未创建的新目录。我的所有文件都有一个字符串地址,我想我可以使用将它们变成路径路径path=Paths.get(textPath);将创建一个字符串(C:/Users/java/dir2),使用上述方法将其转换为路径,然后使用Files.copy(C:/Users/java/dir1/ss1.txt,C:/Users/java/dir2)导致ss1.text被复制到新目录? 最佳答案