1.不使用递归的方法调用。
public void traverseFolder1(String path) {
int fileNum = 0, folderNum = 0
File file = new File(path)
if (file.exists()) {
LinkedList list = new LinkedList()
File[] files = file.listFiles()
for (File file2 : files) {
if (file2.isDirectory()) {
System.out.println("文件夹:" + file2.getAbsolutePath())
list.add(file2)
fileNum++
} else {
System.out.println("文件:" + file2.getAbsolutePath())
folderNum++
}
}
File temp_file
while (!list.isEmpty()) {
temp_file = list.removeFirst()
files = temp_file.listFiles()
for (File file2 : files) {
if (file2.isDirectory()) {
System.out.println("文件夹:" + file2.getAbsolutePath())
list.add(file2)
fileNum++
} else {
System.out.println("文件:" + file2.getAbsolutePath())
folderNum++
}
}
}
} else {
System.out.println("文件不存在!")
}
System.out.println("文件夹共有:" + folderNum + ",文件共有:" + fileNum)
}
如果是 Windows 下使用绝对路径,要用 \\,比如 e:\\folder\\file.txt。Linux下不清楚。或者用/。最好是把源数据文件复制一份放在工作目录下,方便引用。这里有个 dirty trick,在放 TXT 文件的文件夹里新建 R script 文件(新建一个 TXT,把文件后缀改成 .R),然后双击这个 .R进入 R studio,默认的工作目录就是这个文件夹了。同样的,Windows 下适用,Linux 下不清楚。
R语言可以使用read.xlsx()函数来读取excel数据文件,也可以使用read.csv()函数来读取csv格式的数据文件。此外,还可以使用R包RODBC来连接数据库,从而将数据文件存储在数据库中,便于管理和操作。另外,还可以使用R语言的XML包来解析XML格式的数据文件,从而将其导入R语言中进行处理分析。