相关疑难解决方法(0)

如何从文件内容创建Java字符串?

我一直在使用下面的成语一段时间了.它似乎是最广泛的,至少在我访问过的网站上.

是否有更好/不同的方式将文件读入Java中的字符串?

private String readFile(String file) throws IOException {
    BufferedReader reader = new BufferedReader(new FileReader (file));
    String         line = null;
    StringBuilder  stringBuilder = new StringBuilder();
    String         ls = System.getProperty("line.separator");

    try {
        while((line = reader.readLine()) != null) {
            stringBuilder.append(line);
            stringBuilder.append(ls);
        }

        return stringBuilder.toString();
    } finally {
        reader.close();
    }
}
Run Code Online (Sandbox Code Playgroud)

java string io file-io file

1440
推荐指数
18
解决办法
132万
查看次数

如何用Java扫描文件夹?

如何在Java中以递归方式列出文件夹中的所有文件?

java directory file

58
推荐指数
4
解决办法
12万
查看次数

是否有一种解决方法可以解决Java在行走大型目录时表现不佳的问题?

我试图一次处理一个通过网络存储的文件.由于缓冲不是问题,因此读取文件很快.我遇到的问题只是列出文件夹中的目录.在许多文件夹中,每个文件夹至少有10k个文件.

由于File.list()返回数组而不是iterable,因此性能非常慢.Java关闭并收集文件夹中的所有名称,并在返回之前将其打包到数组中.

这个错误条目是http://bugs.sun.com/view_bug.do;jsessionid=db7fcf25bcce13541c4289edeb4?bug_id=4285834并且没有解决方法.他们只是说这已经为JDK7修复了.

几个问题:

  1. 有没有人解决这个性能瓶颈问题?
  2. 我想要实现不可能吗?即使它只是遍历目录,性能仍然会变差吗?
  3. 我可以使用测试版JDK7构建具有此功能,而无需建立在它在我的整个项目?

java performance directory-walk

17
推荐指数
2
解决办法
1万
查看次数

进行系统调用,将stdout输出作为字符串返回

Perl和PHP用反引号做到这一点.例如,

$output = `ls`;
Run Code Online (Sandbox Code Playgroud)

返回目录列表.类似的函数system("foo")返回给定命令foo的操作系统返回码.我在谈论一个将foo打印返回到stdout的变体.

其他语言如何做到这一点?这个函数有一个规范名称吗?(我要用"反击";但也许我可以用"syslurp"硬币.)

language-agnostic terminology

16
推荐指数
11
解决办法
1万
查看次数

如何查看目录的子文件是否已更改

在Windows中,是否有一种简单的方法来判断文件夹是否有更改的子文件?

我验证了,当子文件更改时,文件夹上的最后修改日期不会更新.

我可以设置一个可以修改此行为的注册表项吗?

如果重要,我正在使用NTFS卷.

我最终希望从C++程序中获得这种能力.

递归扫描整个目录对我来说不起作用,因为文件夹太大了.

更新:我确实需要一种方法来实现这一点,而不会在更改发生时运行进程.因此,安装文件系统观察器对我来说并不是最佳选择.

Update2:存档位也不起作用,因为它与上次修改日期有同样的问题.将设置文件的存档位,但文件夹不会.

c++ windows filesystems ntfs

7
推荐指数
1
解决办法
5972
查看次数