程序正在读取 txt 文件但忽略了 if 语句

问题描述 投票:0回答:0

我必须使用文件对话框读取一个 txt 文件。它对我有用,但我有一个 if 语句,它应该忽略(“/”)、空行和(“[”)。 if 语句不起作用,输出只是 txt 文件中的原始数据,我该如何解决。下面是完整的方法。

我期望txt文件的数据没有“/”和“[”

public void readToolData() { Frame myFrame = new Frame(); FileDialog fileName = new FileDialog(myFrame, "Open", FileDialog.LOAD); fileName.setDirectory("/"); fileName.setVisible(true);

if (fileName != null) {
String filePath = fileName.getDirectory() + fileName.getFile();
System.out.println("selected file:" + fileName);
File fileData = new File(filePath);
    
 String typeOfData = "";

 try {
// reading the file line by line scanner
    Scanner read = new Scanner(fileData);
     while (read.hasNextLine()) {
String lineOfText = read.nextLine().trim();
System.out.println(lineOfText);
// checking non empty or non comment | added ! to the or condition
if (!lineOfText.startsWith("/") && !lineOfText.startsWith("[") || lineOfText.isEmpty())
{
typeOfData = lineOfText;
Scanner lineReader = new Scanner(lineOfText).useDelimiter(",");
Tool t = new Tool();
this.storeTool(t);
      } } catch (FileNotFoundException e) { System.out.println(e.getMessage()); } } else { System.out.println("Error! No file selected!"); } }
java if-statement while-loop try-catch
© www.soinside.com 2019 - 2024. All rights reserved.