如何将Java包视为文件文件夹?

时间:2019-06-14 14:20:19

标签: java file directory scripting package

我希望能够遍历文件包,就好像该包是一个文件夹一样。

类似下面的内容(脚本是java包):

        File scriptFolder = new File("scripts").getAbsoluteFile();

出现的包没有像文件夹一样被对待。如果我对路径C:\Users\...\project_folder\...\scripts进行硬编码,则File.isFile()方法将为包返回false。如果我做new File (C:\Users\...\project_folder\...\scripts\script).isFile(),我会成真。

我想获取该文件夹的文件,以便获取该文件夹中文件的列表并进行遍历。

3 个答案:

答案 0 :(得分:1)

#include <DHT.h> #include <DHT_U.h> #include <ArduinoJson.h> #define DHTPIN 2 #define DHTTYPE DHT11 DHT dht(DHTPIN, DHTTYPE); int humidity, temperature; StaticJsonDocument<50> doc; JsonObject object; void setup() { // put your setup code here, to run once: Serial.begin(9600); Serial.println("Begin"); dht.begin(); object = doc.to<JsonObject>(); } void loop() { humidity = dht.readHumidity(); temperature = dht.readTemperature(); object["ID"] = "Node01"; object["humidity"] = humidity; object["temperature"] = temperature; serializeJson(doc, Serial); Serial.println(""); delay(2000); } 方法仅在引用普通的简普通文件时才返回true。如果要引用目录,它将返回false。尝试.isFile()或可能的.isDirectory()

还是不要;没有真正的需求:

.exists()

答案 1 :(得分:1)

官方的Javadocs对此File#isFile()说:

  

测试此抽象路径名表示的文件是否为普通文件。如果文件不是目录,并且满足其他与系统有关的条件,则它是 normal 。由Java应用程序创建的任何非目录文件都保证是普通文件。

您可以使用File#isDirectory()检查它是否是目录,然后使用File#listFiles()列出它的内容。

答案 2 :(得分:0)

除非我在您的问题中缺少某些内容,否则C:\ Users ... \ project_folder ... \ scripts是目录,因此isFile()将返回false,因为它不是文件。