草庐IT

read_file

全部标签

java - 如果 File 不存在,如何确定它是文件还是目录?

File.isFile()和File.isDirectory()不仅在File不是指定类型时返回false,而且当File本身在文件系统中不存在时。当File不存在时,如何判断它代表的是文件还是目录? 最佳答案 一般来说,一个特定的路径既可以代表一个目录,也可以代表一个文件。除非在该路径上创建了一个目录或一个文件,否则它用于一个或另一个的概念是无效的。但是有一个特例。如果路径以路径分隔符结尾(在类Unix系统上为“/”,在Windows上为“\”,在其他系统上可能完全不同),那么至少在类Unix系统上路径不能是文件路径。不过,我不知

java - Java 7 中的 Files.size() 实现

Java中file.length()和Files.size()的实现有区别吗?Java7引入了Files.size()方法。 最佳答案 主要区别在于Files.size()可以处理不是“常规文件”的东西(由Files.isRegularFile()定义)。这意味着取决于哪个FileSystemProviders你有空,它可以获取ZIP文件中文件的大小,它可以处理通过FTP/SFTP访问的文件,...普通旧File.length()不能那样做。它仅处理“真实”文件(即底层操作系统也将其作为文件处理的文件)。

java - 中断 Java DataInputStream readFully()

我有一个从服务器流式传输视频(MJPEG)的Java小程序。我用C#(Windows服务)写了一个代理服务器,放在小程序和多个视频服务器之间。HTML/CSS/Js前端与Java小程序一起使用。所有功能都运行良好(终于!!!),除了一件事。视频服务器允许您通过REST接口(interface)回放录制的视频。剪辑完成后,服务器会保持连接打开,以防您要向其发送倒带或搜索等命令。该剪辑在小程序中播放良好,直到结束。如果您尝试开始一个新剪辑(这需要从Javscript向小程序发送命令),浏览器会卡住。但是,使用相同连接的后续命令会起作用,例如播放、暂停和搜索。如果我停止Windows服务,浏

java - FileInputStream 和 FileOutputStream 到同一个文件 : Is a read() guaranteed to see all write()s that "happened before"?

我正在使用一个文件作为大数据的缓存。一个线程顺序写入它,另一个线程顺序读取它。我能否确定在一个线程中(通过write())写入的所有数据都可以从另一个线程中被read(),假设适当的“在Java内存模型方面发生“之前”的关系?这种行为是否记录在案?在我的JDK中,FileOutputStream没有覆盖flush(),OutputStream.flush()是空的。这就是为什么我想知道...有问题的流完全由我完全控制的类拥有。每个流都保证只能由一个线程访问。我的测试表明它按预期工作,但我仍然想知道这是否得到保证和记录。另见thisrelateddiscussion.

Java I/O : Ensure a file is not locked by another process before any r/w operation

我在基于Java7WatchServiceAPI跟踪目录中文件内容的应用程序中遇到了一个反复出现的问题。当底层文件系统触发文件修改事件时,我想立即计算其SHA-256。但经常会发生另一个进程打开文件(即Word),从而保留独占锁并阻止我的应用程序进行任何读/写操作。如果针对打开的文件创建了任何流/channel,则会抛出FileNotFoundException或nioAPI的FileSystemException以及如下消息:Theprocesscannotaccessthefilebecauseitisbeingusedbyanotherprocess当文件在fs上实际上不存在时,

java - Java如何确定 'file.encoding'系统属性?

我认为Java通过系统区域设置确定“file.encoding”系统属性。但在我的系统中,当系统区域设置为“ko_kr.UTF-8”时,“file.encoding”为“ANSI_X3.4-1968”。Java如何确定“file.encoding”系统属性? 最佳答案 来自以下链接的native代码填充属性(适用于solaris、Linux操作系统)native方法加载系统属性下方。privatestaticnativePropertiesinitProperties(Propertiesprops);下面的链接是用于加载属性的na

java - 如何修复 "Prefs file removed in background/home/steven/.java/.userPrefs/prefs.xml"错误?

我的大部分程序都是在Windows上编程的,在首选项方面没有任何问题。我刚刚启动了Ubuntu12.04并将我的类加载到Eclipse中。在运行时,我在控制台中收到:Oct12,20128:14:38PMjava.util.prefs.FileSystemPreferences$6runWARNING:Prefsfileremovedinbackground/home/steven/.java/.userPrefs/prefs.xml我知道这与Ubuntu上的preferences系统有关,但是几次Google搜索都没有找到解决方案。谁能帮我解决这个错误?

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