Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法读取java中的文本文件内容_Java_Arrays - Fatal编程技术网

无法读取java中的文本文件内容

无法读取java中的文本文件内容,java,arrays,Java,Arrays,我正在开发一个java控制台应用程序,它应该有管理员和普通用户的登录界面,根据文本文件的内容读取和验证输入 //Method for teller/shop assistant login public static void tellerLogin(){ //loading and reading the text file containing the login credentials Scanner scan = new Scanner (new File("the \\

我正在开发一个java控制台应用程序,它应该有管理员和普通用户的登录界面,根据文本文件的内容读取和验证输入

 //Method for teller/shop assistant login
 public static void tellerLogin(){

 //loading and reading the text file containing the login credentials
    Scanner scan = new Scanner (new File("the \\ dir\\myFile.extension"));
    Scanner keyboard = new Scanner (System.in);
    String user = scan.nextLine();
    String pass = scan.nextLine();

  //String variables to hold the data retrieved from the text file
    String inpUser = keyboard.nextLine();
    String inPass = keyboard.nextLine();

  //Verifying the user input against the text file contents for verification
    if (inpUser.equals(user) && inPass.equals(pass)){
        System.out.println(" Logged in as Admin");
        tellerMenu();

    }

    else{
        System.out.println("Incorrect credentials");
    }
}
然而,我似乎被困在读取文本文件的内容,它不断地给出一个错误,指出:“未能找到文件”

下面是我查找和读取文本文件内容的代码

 //Method for teller/shop assistant login
 public static void tellerLogin(){

 //loading and reading the text file containing the login credentials
    Scanner scan = new Scanner (new File("the \\ dir\\myFile.extension"));
    Scanner keyboard = new Scanner (System.in);
    String user = scan.nextLine();
    String pass = scan.nextLine();

  //String variables to hold the data retrieved from the text file
    String inpUser = keyboard.nextLine();
    String inPass = keyboard.nextLine();

  //Verifying the user input against the text file contents for verification
    if (inpUser.equals(user) && inPass.equals(pass)){
        System.out.println(" Logged in as Admin");
        tellerMenu();

    }

    else{
        System.out.println("Incorrect credentials");
    }
}
以下是错误:

 SEVERE: null java.io.FileNotFoundException: D:\pasd\adminlogin.txt (The system cannot find the file specified) at  
 java.io.FileInputStream.open0(Native Method) at 
 java.io.FileInputStream.open(FileInputStream.java:195) at 
 java.io.FileInputStream.<init>(FileInputStream.java:138) at 
 java.util.Scanner.<init>(Scanner.java:611) at 
 kiosk.Kiosk.adminLogin(Kiosk.java:89) at kiosk.Kiosk.main(Kiosk.java:35)
SEVERE:null java.io.FileNotFoundException:D:\pasd\adminlogin.txt(系统找不到指定的文件)位于
java.io.FileInputStream.open0(本机方法)位于
java.io.FileInputStream.open(FileInputStream.java:195)位于
java.io.FileInputStream.(FileInputStream.java:138)位于
Scanner.(Scanner.java:611)位于
kiosk.kiosk.adminLogin(kiosk.java:89)位于kiosk.kiosk.main(kiosk.java:35)

如果要在此处使用绝对路径文件,则需要

新文件(“the\dir\myFile.extension”)

\dir\myFile.extension是绝对路径

请注意以下示例语法:

windows系统
:C:\1.txt

Mac或linux
:/Users/home/xxx.txt

如果将文件设置为相对路径,则可以使用资源目录中的资源文件:
YouClass.class.getClassLoader().getResource(path)

例如

具体来说,针对您的问题:

  • 您需要在路径
    D:\pasd\adminlogin.txt
    中确认您的文件

  • 您可以将
    D:/pasd/adminlogin.txt的路径分隔符
    \
    更改为
    /

  • 建议您将
    adminlogin.txt
    放在项目
    resources
    目录中

  • 此项目是您的问题的一个示例:

    新文件(“the\\dir\\myFile.extension”)
    这是您的代码中的文件,还是您刚刚这么做的?我在我的代码中有实际位置确定了,基于错误,打开文件不是失败,但是,它甚至找不到文件——如果您不介意将其包含在帖子中,那么完整的错误应该会提供更多的信息。我们可以帮助您调试它。下面是错误。严重:null java.io.FileNotFoundException:D:\pasd\adminlogin.txt(系统找不到指定的文件)位于java.io.FileInputStream.open0(本机方法)的java.io.FileInputStream.open(FileInputStream.java:195)的java.io.FileInputStream.(FileInputStream.java:138)的java.util.Scanner.(Scanner.java:611)的kiosk.kiosk.adminlogin(Kiosk.java:89)在Kiosk.Kiosk.main(Kiosk.java:35)好的,那么根据
    D:\pasd\adminlogin.txt
    ,你能为我们验证文件是否在
    D:
    驱动器的
    pasd
    文件夹中吗?还要确保拼写100%正确谢谢。这很有帮助,我现在可以继续了。