在开始之前,请允许我为我对 Java 的基本了解表示歉意,因为我几乎确信这对于大多数程序员来说都是一个简单的问题。
基本上我有两个Java文件:第一个列出指定目录中的所有文本文件,第二个读取指定的文本文件并将其打印出来。
我试图弄清楚如何使用 ListFiles 的输出(如下所示 - 给出 dir 中的所有 txt 文件) - 我假设它是 System.out.println 底部的变量“files” - 然后传递它到java文件“FileData”(下面的第二个例子)以有效读取某个目录中的所有txt文件。
也许创建一个使用这两者的新 java 文件会更容易一些?任何指示将不胜感激,谢谢。
import java.io.File;
public class ListFiles
{
// bad attempt at OOP lol, f goes nowhere
public ListFiles(String f) {
}
public static void main(String[] args)
{
// Directory path here
String path = "C:/WORKING_DIR_WITH_TXT_FILE";
String files;
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(".txt") || files.endsWith(".TXT"))
{
System.out.println(files);
}
}
}
}
}
这是读取 TXT 文件的第二个 java 文件
import java.io.IOException;
public class FileData
{
public static void main(String[] args) throws IOException
{
String file_name = "C:/WORKING_DIR_WITH_TXT_FILE";
// "C:/directory/*.txt"???;
try {
ReadFile file = new ReadFile(file_name);
String[] aryLines = file.OpenFile();
int i;
for (i=0; i < aryLines.length; i++) {
System.out.println(aryLines[i]);
}
}
catch (IOException e) {
System.out.println( e.getMessage() );
}
}
}
最佳答案
我的理解是,您当前可以将这两个类作为单独的程序成功运行,但您希望调用 ListFiles
作为主程序并让它调用 FileData
进行打印输出文件的内容。
在实际的 Java 应用程序中,大多数类没有 main
方法,因为它们不打算由用户直接从命令行调用。在您的情况下,ListFiles
应该有一个 main
方法,以便您可以运行它,但 FileData
应该有一个可以从 调用的方法>列表文件
。
基本上,您可以将 FileData.main()
的签名更改为:
public static void showFile(String file_name)
它的主体将保持不变。
然后,在当前显示文件名的 ListFiles
中,您将改为/另外具有:
FileList.showFile( files );
这将调用 FileList
中的方法,并将文件名作为参数传递给它。
关于java - 在另一个 java 类中使用变量/数组。合并简单的java文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5517234/