草庐IT

this_file

全部标签

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 1.7 + JSCH : java. security.InvalidKeyException: Key is too long for this algorithm

我正在尝试使用JSCH将文件上传到远程SFTP分享。每次我尝试从我的代码中连接到共享时,我都会得到一个看起来像这样的异常:com.jcraft.jsch.JSchException:Session.connect:java.security.InvalidKeyException:Keyistoolongforthisalgorithmatcom.jcraft.jsch.Session.connect(Session.java:558)~[jsch-0.1.51.jar:na]atcom.jcraft.jsch.Session.connect(Session.java:183)~[js

为 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

【已解决】[图文步骤] message from server: “Host ‘172.17.0.1‘ is not allowed to connect to this MySQL server“

写于2024.03.07北京.朝阳@目录报错信息环境现场解决方案步骤:成功最后报错信息先看看和你的报错一样不一样null,messagefromserver:"Host'172.17.0.1'isnotallowedtoconnecttothisMySQLserver"环境现场mac电脑使用docker部署了一个mysql。dockerpullmysql:5.7dockerrun-p3306:3306--namemysql-container-eMYSQL_ROOT_PASSWORD=123456-dmysql/mysql-server:5.7查看是否启动成功。dockerps解决方案步骤:查

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被复制到新目录? 最佳答案

java.io.File.setReadable(false) 在 docker 中无效

以下代码在使用OpenJDK8的Ubuntu18.04上成功,但在基于OpenJDK8的Docker镜像maven:3-jdk-8-slim中失败:StringuserHome=System.getProperty("user.home");System.out.println(String.format("systempropertyuser.home:%s",userHome));Filefile=newFile(userHome,"file");if(!file.createNewFile()){thrownewIOException("testarrangementfailed