Tag: 文件系统

在Windows上检查Java中文件是否为空的最有效方法

我试图在Windows上用Java检查日志文件是否为空(意味着没有错误)。 到目前为止,我尝试过使用2种方法。 方法1(失败) FileInputStream fis = new FileInputStream(new File(sLogFilename)); int iByteCount = fis.read(); if (iByteCount == -1) System.out.println(“NO ERRORS!”); else System.out.println(“SOME ERRORS!”); 方法2(失败) File logFile = new File(sLogFilename); if(logFile.length() == 0) System.out.println(“NO ERRORS!”); else System.out.println(“SOME ERRORS!”); 现在,当日志文件为空(没有内容)时,这些方法都会失败,但文件大小不为零(2个字节)。 检查文件是否为空的最有效和最准确的方法是什么? 我要求提高效率,因为我必须循环检查文件大小数千次。 注意:文件大小只会徘徊在几到10 KB左右! 方法3(失败) 按照@ Cygnusx1的建议,我也尝试过使用FileReader ,但没有成功。 这是片段,如果有人感兴趣的话。 Reader reader = new FileReader(sLogFilename); int readSize = reader.read(); […]

Java:设置“user.dir”时File.exists()不一致

JRE 6,在Windows XP上。 使用不同构造函数实例化两个File对象会导致File.exists()方法中的结果不一致。 免责声明: 以下代码是摘要,而不是实际代码。 我根本不相信这是一个File.separator问题。 我首先要求得到早期反应,以防我错过了一个很好理解的问题。 现在看来,重置user.dir系统属性是导致此问题的原因之一。 下面的代码现在可以重现并且可以按原样使用。 您可以复制/粘贴Java类并尝试它,它应该与我列出的结果一致。 建立: 创建文件夹架构C:\toto\tmp\sub 。 从任何不包含tmp/sub子文件夹体系结构的文件夹中启动以下类。 码: public class TestFileExists { public static void main(String[] args) { System.setProperty(“user.dir”, “C:\\toto\\”); File root = new File(“tmp”); File sub_a = new File(root, “sub”); File sub_b = new File(root.getAbsolutePath()+”/sub”); System.out.println(“sub_a path ? “+sub_a.getAbsolutePath()); System.out.println(“sub_a exists ? “+sub_a.exists()); System.out.println(“sub_b path ? […]

使用凭据将I / O文件写入共享网络驱动器

我想在共享网络驱动器上删除.txt文件。 该路径是网络驱动器上的映射,需要凭据(登录名和密码)。 我可以使用FileOutputStream传递这些参数吗? FileOutputStream fos; DataOutputStream dos; try { File file= new File(path + “/” + fileName + “.txt”); fos = new FileOutputStream(file); dos=new DataOutputStream(fos); dos.writeChars(stringContent); dos.close(); fos.close(); } catch(IOException eio){ } 谢谢。

WatchService for Java 6

Java 7引入了WatchService来持续监视文件系统。 是否有Java 6的后端口? 是否有具有类似function的纯Java库?

如何在Java中快速检索目录列表?

假设一个非常简单的程序列出了给定目录的所有子目录。 声音够简单? 除了列出Java中所有子目录的唯一方法是使用FilenameFilter与File.list()结合使用。 这适用于琐碎的情况,但是当文件夹说出150,000个文件和2个子文件夹时,它在那里愚蠢地等待45秒,遍历所有文件并测试file.isDirectory()。 是否有更好的方法列出子目录? PS。 对不起,请保存有关在同一目录中包含太多文件的讲座。 我们的现场环境将此作为要求的一部分。

通过Java将文本插入现有文件

我想创建一个简单的程序(用Java编写)来编辑文本文件 – 特别是在文本文件中随机位置插入任意文本的文件。 此function是我目前正在编写的更大程序的一部分。 阅读有关java.util.RandomAccessFile的描述,似乎在文件中间执行的任何写操作实际上都会覆盖现有内容。 这是一个副作用,我想避免(如果可能的话)。 有没有一种简单的方法来实现这一目标? 提前致谢。