草庐IT

nio-thread

全部标签

java - Java NIO 中 File.deleteOnExit() 的替代方案?

JavaIO有File.deleteOnExit(),这是一种删除在JVM正常终止期间调用的文件的方法。我发现这对于清理临时文件非常有用,尤其是在单元测试期间。但是,我在JavaNIO的Files中没有看到同名的方法。类(class)。我知道我可以执行path.toFile().deleteOnExit(),但我想知道是否有使用NIO的替代方法。还有其他选择吗?如果没有,为什么没有? 最佳答案 简答JavaNIO中不能删除任意文件,但可以使用StandardOpenOption.DELETE_ON_CLOSE当打开一个新流时,一旦流

java - 使用 nio.file.DirectoryStream 递归列出目录中的所有文件;

我想列出指定目录中的所有文件以及该目录中的子目录。不应列出任何目录。我当前的代码如下。它不能正常工作,因为它只列出指定目录中的文件和目录。我该如何解决这个问题?finalListfiles=newArrayList();Pathpath=Paths.get("C:\\Users\\Danny\\Documents\\workspace\\Test\\bin\\SomeFiles");try{DirectoryStreamstream;stream=Files.newDirectoryStream(path);for(Pathentry:stream){files.add(entry);

java - 当 io 包已经有方法可用时,java nio 包的确切用途是什么

我正在学习javanio包,我意识到File已经提供了很多方法,nio.Files通过使用Path类再次提供了这些方法。就像我得到的那样。我实际上并没有得到nio包的实际用途。我对这个包很陌生,所以我的问题可能是错误的,但一点帮助可以帮助我进一步阅读。 最佳答案 IO和NIO的主要区别在于IO是阻塞的,而NIO是非阻塞的。Thisarticle解释了包的区别以及阻塞和非阻塞IO是什么。archived 关于java-当io包已经有方法可用时,javanio包的确切用途是什么,我们在Sta

每个连接模型的 Java 线程与 NIO

非阻塞JavaNIO是否仍然比每个连接异步套接字的标准线程慢?此外,如果您要为每个连接使用线程,您会创建新线程还是使用非常大的线程池?我正在用Java编写一个MMORPG服务器,它应该能够在足够强大的硬件条件下轻松扩展10000个客户端,尽管客户端的最大数量是24000(我认为每个连接模型的线程不可能达到,因为Java中的15000个线程限制)。从一篇三年前的文章中,我听说每个连接模型使用一个线程阻塞IO仍然比NIO快25%(即这篇文档http://www.mailinator.com/tymaPaulMultithreaded.pdf),但是今天还能达到同样的效果吗?从那时起,Jav

java.lang.IllegalMonitorStateException : object not locked by thread before wait()?

我正在使用ProgressDialog。当用户关闭ProgressDialog时,我需要停止线程。不幸的是,它给出了一个异常(exception)。在内部类中:classUpdateThreadextendsThread{publicvoidrun(){while(true){count=adapter.getCount();try{mHandler.post(newRunnable(){publicvoidrun(){Log.i(TAG,count+"count");progressDialog.setMessage(count+"Devicefound");}});Thread.s

java - 为什么我在 JavaFX 上收到 java.lang.IllegalStateException "Not on FX application thread"?

我有一个具有TableView的应用程序,该应用程序具有附加的监听器,因此它会在检测到更改时立即刷新,但问题是我正在获取java.lang。IllegalStateException:不在FX应用程序线程上;currentThread=Smack监听器处理器(0)。这是我的代码:/***Thisfunctionresetsthepaginationpagecount*/publicvoidresetPage(){try{System.out.println("RESET");inttamRoster=this.loginManager.getRosterService().getRos

jar 中的 Java 访问文件导致 java.nio.file.FileSystemNotFoundException

在尝试使用我的java应用程序将我的jar文件中的一些文件复制到临时目录时,抛出以下异常:java.nio.file.FileSystemNotFoundExceptionatcom.sun.nio.zipfs.ZipFileSystemProvider.getFileSystem(ZipFileSystemProvider.java:171)atcom.sun.nio.zipfs.ZipFileSystemProvider.getPath(ZipFileSystemProvider.java:157)atjava.nio.file.Paths.get(UnknownSource)at

java - NetBeans/Java/New 提示 : Thread. sleep 在循环中调用

在NetBeans中,有一个新提示:Thread.sleepcallinloop.问题1:循环sleep如何/何时会成为问题?问题2:如果有问题,我应该怎么做?更新:问题3:这是一些代码。在这种情况下告诉我是否应该在循环中使用其他东西而不是Thread.Sleep。简而言之,这是由监听客户端TCP连接的服务器使用的。如果达到与客户端的最大session数,则在此处使用sleep。在这种情况下,我希望应用程序等到空闲session可用。publicclassSessionManager{privatestaticfinalintDEFAULT_PORT=7500;privatestati

java - 尝试写入文件夹时出现 "java.nio.file.AccessDeniedException"

由于某种原因,每次尝试使用Tomcat上的javawebapp写入计算机上的文件夹时,我都会不断收到java.nio.file.AccessDeniedException。此文件夹的权限设置为对我计算机上的每个人(Windows)进行完全控制。有人知道我为什么会得到这个异常吗?这是我的代码:publicvoidsaveDocument(Stringname,StringsiteID,bytedoc[]){try{Pathpath=Paths.get(rootDirectory+siteID);if(Files.exists(path)){System.out.println("Exis

java - 我们什么时候应该使用 Java 的 Thread over Executor?

Executor看起来像是一个干净的抽象。您什么时候想直接使用Thread而不是依赖更健壮的执行器? 最佳答案 为了提供一些历史,Executors只是作为Java1.5中java标准的一部分添加的。所以在某些方面Executors可以被看作是处理Runnable任务的一种新的更好的抽象。有点过于简化了...-执行器是正确完成的线程,因此请优先使用它们。 关于java-我们什么时候应该使用Java的ThreadoverExecutor?,我们在StackOverflow上找到一个类似的问