我想使用Java代码获取Linux版本。在不同的Linux发行版中,我有不同名称的文件。
/etc/*-release
如何获取以-release
结尾的每个文件内容?
答案 0 :(得分:6)
您可以使用File.listFiles(FilenameFilter)
File f = new File("/etc/");
File[] allReleaseFiles = f.listFiles(new FilenameFilter() {
@Override
public boolean accept(File dir, String name) {
return name.endsWith("-release");
}
});
答案 1 :(得分:2)
使用Java java.io.File#listFiles,然后简单地遍历它返回的数组以打开文件。
答案 2 :(得分:1)
System.getProperty("os.version")
答案 3 :(得分:0)
执行ls -d /etc/*-release
后,您可以通过获取输出来获取文件。
然后通过Java File
与他们合作。
另见:
答案 4 :(得分:0)
当然,你现在应该使用nio进行这种行动:
Path dir = Paths.get("/etc");
for (Path file : Files.newDirectoryStream(dir, "*-release"))
System.out.println (new String(Files.readAllBytes(file), "UTF-8"));