【问题标题】:.txt reader and printer.txt 阅读器和打印机
【发布时间】:2025-12-15 04:30:01
【问题描述】:

我正在使用准备编程的 java IDE。我试图让我的程序要求一个 4 位数的密码。我可以将数字存储在 .txt 文件中,但我希望能够在控制台中将其打印出来。假设你有 1234 号密码,它将存储在名为 Bank_Pin.txt 的文件中,你可以编写一些代码来打印它。这是我用来存储数字的:

                    int pinnum = c.readInt();
                    System.out.println ("Now creating the text fle Bank_Pin.txt.");
                    TextOutputFile a;
                    a = new TextOutputFile ("Bank_Pin.txt");
                    System.out.println ("Writing text file!");
                    a.println (pinnum);
                    a.close ();
                    System.out.println ("Done!");

这被放置在一个 while 循环和一个 if else if 语句中,该语句询问您是否已经有代码。如果没有,系统会提示您继续。但如果你这样做了,我正在尝试制作它,以便你可以将代码打印出来并将其与将要输入的代码进行比较。

【问题讨论】:

    标签: java bufferedreader filereader


    【解决方案1】:

    我从来没有在 IDE 上工作过。但我在互联网上找到了以下代码。你能试试这个吗

    Console c = new Console (); 
    c.print("Your PIN Data"); 
    

    【讨论】:

      【解决方案2】:

      我从未使用过“Ready to Program”,但我认为它会像我使用过的任何其他 IDE(例如 Eclipse 和 NetBeans)一样响应代码。看来您需要 ScannerPrintWriter 类来让您的生活更轻松。 Scanner 类非常适合检查文件是否存在,PrintWriter 类用于写出您的文件。话虽如此,我会尝试这样的事情:

      while(true){
          Scanner fromFile, fromUser = new Scanner(System.in);
          boolean exists = false;
          int pin;
      
          try{//Attempts to open the file "Bank_Pin.txt" and read in a saved pin
              fromFile = new Scanner(new File("Bank_Pin.txt"));
              pin = fromFile.nextInt();
              exists = true;
          } catch (FileNotFoundException e) {
              System.out.println("No saved pin exists");
          } finally {//Closes open resources
              if(fromFile != null)
                  fromFile.close();
          }
      
          if(!exists) {//If there isn't a saved pin
              System.out.print("Please input a pin: ");
              while(true) {//Ask for a pin until a valid one is given
                  try{
                      pin = sc.nextInt();
                      if(String.valueOf(pin).length() != 4)//pin given isn't 4 digits
                          throw new InputMismatchException();
                      break;
                  } catch (InputMismatchException e) {
                      System.out.print("\nPin input was not valid. Please reinput: ");
                  }
              }
              PrintWriter out = new PrintWriter(new File("Bank_Pin.txt));
              out.println(pin);
              out.close();
              System.out.println("\nPin has been saved: " + pin);
          } else {
              System.out.println("Saved pin: " + pin);
          }
      
          fromUser.close();//Close input from keyboard
      }
      

      希望这就是您想要的。所有的 try-catch-finally 语句都是出于安全目的,但您可以根据需要删除它们。

      【讨论】: