程序返回目录file[] fList
中的文件列表。我无法将文件列表返回到public static void main(String[]agrs)
,以便我可以使用每个文件进行解析。
我是java的初学者.. 到目前为止我的代码: -
public class FileList {
private static final String files = null;
//Directory path here
public String ListFile(String files) {
String path = "/Users/";
File folder = new File(path);
File[] listOfFiles = folder.listFiles();
{
for (int i = 0; i < listOfFiles.length; i++) {
if (listOfFiles[i].isFile()) {
files = listOfFiles[i].getName();
if (files.endsWith(".xml")) {
System.out.println(files);
}
}
}
}
return files;
}
public static void main(String[] args) {
FileList fl = new FileList();
fl.ListFile(files);
}
}
和方法
public File[] listf(String directoryName) {
String files = "";
File directory = new File(directoryName);
// get all the files from a directory
File[] fList = directory.listFiles();
for (int i = 0; i < fList.length; i++) {
if (fList[i].isFile()) {
files = fList[i].getName();
if (files.endsWith(".xml")) {
System.out.println(files);
}
}
}
System.out.println(fList);
return fList;
}
答案 0 :(得分:0)
您尝试从static
上下文访问实例方法。
您有两个(基本)选项。
static
,例如public static File[] listf(String directoryName) {
答案 1 :(得分:0)
尝试使用绝对路径加载文件。例如。 &#34; d:\ Folder1中\ FOLDER2&#34 ;.此外,请使用File.Separator
。
答案 2 :(得分:0)
尝试使用评论中所述的更改来运行此程序..
import java.io.File;
public class Demo
{
private static final String files = null;
//Directory path here
/* public String ListFile(String files) {
String path = "My/";//Use pathname like this
File folder = new File(path);
File[] listOfFiles = folder.listFiles();
{
for (int i = 0; i < listOfFiles.length; i++) {
if (listOfFiles[i].isFile()) {
files = listOfFiles[i].getName();
if (files.endsWith(".xml")) {
System.out.println(files);
}
}
}
}
return files;
}
*/
public File[] listf(String directoryName) {
String files = "";
File directory = new File(directoryName);
// get all the files from a directory
File[] fList = directory.listFiles();
for (int i = 0; i < fList.length; i++) {
if (fList[i].isFile()) {
files = fList[i].getName();
if (files.endsWith(".xml")) {
System.out.println(files);
}
}
}
//System.out.println(fList);//Not needed
return fList;
}
public static void main (String[] args) {
File f[]=new File[10];
f=new Demo().listf("My");
//new Demo().ListFile(files);//it just prints file names
//for(int i=0;i<f.length;i++)
// System.out.println(f[i].getName());
}
}