创建允许用户在 Java 中向其添加 CSV 文件的扫描仪

Creating a scanner that allows user to add CSV file to it in Java

我正在尝试创建一个服务来解析 CSV 文件的每一行并为每一行的字符串运行各种布尔值。一切正常,但我设置它的方式是用户复制 CSV 文件中的文本并将其粘贴到扫描仪中。我想这样做,以便用户可以在代码为 运行.

时添加 CSV 文件

我现在的设置方式:

import java.util.Scanner;

public class Main {

  public static void main(String[] args) {
    Scanner exampleString = new Scanner(System.in);
    do {
        String checkString = exampleString.nextLine();
        boolean testOne = checkString.contains("Text from CSV line");
        if(testOne){
           String removingExtraCharacters = checkString.replaceAll
           (" [^\d.$]", "");
            System.out.println(removingExtraCharacters);
        }
     }while (exampleString.hasNextLine());
      exampleString.close();
 }
}

我研究了使用 Scanner(File()) 方法,但我只能弄清楚如何在 运行 代码之前将文件放入其中。 有没有办法让它在代码 运行?

之后要求用户将文件添加到扫描仪

您可以使用扫描程序执行的操作是询问新 CSV 文件的目的地,将其解析为字符串并使用 FileReader 读取文件内容。

例如:

Scanner scanner = new Scanner(System.in);  // Create a Scanner object
System.out.println("Enter .csv filepath");

String filepath = scanner.nextLine(); 

List<String> contents = Files.readAllLines(Paths.get(filepath));

但是您必须更改部分代码才能使其正常工作。由于 Paths.get(filepath) 仅从您启动终端的目录(同一文件夹)查找。

当你 运行 将 text.txt(或 csv 之类的文件)作为输入时,它将获取文件的所有行并将其放入列表。

这对你有用吗?