gpt4 book ai didi

java - 在另一个 java 类中使用变量/数组。合并简单的java文件?

转载 作者:行者123 更新时间:2023-12-01 15:53:35 24 4
gpt4 key购买 nike

在开始之前,请允许我为我对 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com