用户界面不读取文件



我已经为我的声音类创建了一个用户界面。看起来它应该工作正常,因为声音类工作得很好。我不确定为什么,但是当我尝试运行READ命令时,出现错误,指出不存在此类文件或目录。该文件确实存在,并且与程序位于同一文件夹中。这是代码:

public class SoundUI
{
public static void main(String[] args){
    Scanner input = new Scanner(System.in);
    Sound s = new Sound();
    final String MENU = "R)ead , W)rite , B)ackwards , L)engthen , S)horten , I)ncrease Vol. ,"  +
        "D)ecrease Vol. , Q)uit";
    char cmd = ' ';
    System.out.println(MENU);
    //User interface commands for sound
    do{ 
        cmd = input.next().charAt(0);
        if(cmd == 'R'){ //read
            System.out.println("Enter file name with quotes around it");
            String fileName = input.next();
            s.wavRead(fileName);
            System.out.println(MENU);
            cmd = input.next().charAt(0);
        }
        else if(cmd == 'W'){ //save
            System.out.println("Name of file you want to save as");
            String fileName = input.next();
            s.wavSave(fileName);
            System.out.println(MENU);
            cmd = input.next().charAt(0);
        }
        else if(cmd == 'B'){ //reverse
            s.reverse();
            System.out.println(MENU);
            cmd = input.next().charAt(0);
        }
        else if(cmd == 'L'){ //lengthen
            s.lengthen();
            System.out.println(MENU);
            cmd = input.next().charAt(0);
        }
        else if(cmd == 'S'){ //shorten
            s.shorten();
            System.out.println(MENU);
            cmd = input.next().charAt(0);
        }
        else if(cmd == 'I'){ //increase volume
            System.out.println("Enter percent");
            double percent = input.nextDouble();
            s.increaseVol(percent);
            System.out.println(MENU);
            cmd = input.next().charAt(0);
        }
        else if(cmd == 'D'){ //decrease volume
            System.out.println("Enter percent");
            double percent = input.nextDouble();
            s.reduceVol(percent);
            System.out.println(MENU);
            cmd = input.next().charAt(0);
        }
    } while(cmd !='Q'); //quit
}

}

代码必须位于 src 文件夹的顶部。您可以使用以下代码知道代码正在查看哪个目录: System.out.println(new File(".").getAbsoluteFile());

首先 - 写出这一行后面的文件名变量中到底包含的内容。

String fileName = input.next();

然后检查 s.wavRead 方法中发生的情况。顺便说一句,声音类从何而来?是你的课吗?如果是,请调试 wavRead 方法并检查那里发生了什么。

相关内容

  • 没有找到相关文章

最新更新