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

标签 java class variables

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

相关文章:

java - 如何在 Hibernate 中更新实体列表

c# - 空类而不是枚举——糟糕的主意?

javascript - 列出使用 jQuery 检查的变量值

variables - 使用算法在mathematica中命名变量

c - 如何在程序中将变量传递给稍后/将 double 输入对话框

Java、mySQL、connector-j、删除联系人

java - 当我从 Object 类覆盖 equals() 时如何实现 hashCode()

java - 为什么有时我必须将 @Test 放在单独的行中才能使其在 Eclipse 中工作

c++ - 终止管家是什么意思?

java - 在子类构造函数中调用 getClass() 总是安全的吗?