检查 .txt 文件是不是存在。 FileWriter.exists 方法不起作用

Posted

技术标签:

【中文标题】检查 .txt 文件是不是存在。 FileWriter.exists 方法不起作用【英文标题】:Check if a .txt file exists. FileWriter.exists method not working检查 .txt 文件是否存在。 FileWriter.exists 方法不起作用 【发布时间】:2014-09-13 04:32:25 【问题描述】:

解决了!!!谢谢你的手,让它工作。欣赏!

我正在编写一个具有用户名和密码输入的程序。如果用户在创建用户名和密码时输入了已经存在的用户名,我正在尝试检查用户的文件是否存在。

.exists 方法不起作用,我无法弄清楚。错误找不到符号回来了。我已经改变了一些东西,移动了一些东西并把它归结为一个错误。尝试使用循环和 if 语句,但使用 if 只会导致一个错误。任何帮助都会很棒。

import java.util.Scanner;
import java.io.*;

class UserData 

  public static void main ( String[] args ) throws IOException
  
  Scanner kb = new Scanner(System.in);

  System.out.println("Do you have an account? Yes or No: ");
  String answer = kb.next().trim();

  if ((answer.startsWith("N")) || (answer.startsWith("n")))
  

System.out.println("Create user name: ");
String user = kb.next().trim();

String fileName = user + ".txt";
FileWriter userData = new FileWriter(fileName);

 if (userData.exists())
 
   System.out.println("User already exists");
   System.out.println("Create user name: ");
   user = kb.next().trim();

   fileName = user + ".txt";
   userData = new FileWriter(fileName);
 

System.out.println("Create Password: ");
String ps = kb.next().trim();

userData.write(user + " ");
userData.write(ps);
userData.close();


  

  else if ((answer.startsWith("Y")) || (answer.startsWith("y")))
  
System.out.println("Enter user name: ");
String user = kb.next().trim();

System.out.println("Enter Password: ");
String ps = kb.next().trim();

String fileName = user + ".txt";
Scanner inFile = new Scanner(new File(fileName));

String userName = inFile.next();
String password = inFile.next();

//     If ((userName != user) || (password != ps))
//     
//       System.out.println("User Not Found");
//       System.out.println("Enter user name: ");
//       String user = kb.next().trim();
// 
//       System.out.println("Enter Password: ");
//       String ps = kb.next().trim();
//  
//       String fileName = user + ".txt";
//       Scanner inFile = new Scanner(new File(fileName));
//  
//       String userName = inFile.next();
//       String password = inFile.next();
//     
//     else
//     
   System.out.println("User Found");
//     







【问题讨论】:

尝试打开文件,使用try-catch,如果异常被捕获则文件不存在,否则文件存在 在FileWriter 中没有看到exists() 方法!!!! 感谢大家的帮助。现在工作得很好。很有帮助。 【参考方案1】:

这里有编译错误:

FileWriter userData = new FileWriter(fileName);
if (userData.exists())

改成:

File userDataFile = new File(fileName);
if (userDataFile.exists())

当然还有:

FileWriter userData = new FileWriter(userDataFile);
userData.write(user + " ");
userData.write(ps);
userData.close();

如果文件仍然不存在,则您可能正在查找错误的目录。尝试添加这个:

System.out.println(new File(fileName).getAbsolutePath());

并检查自己在打印路径上是否有可用的文件。

【讨论】:

谢谢。现在工作正常。欣赏它。

以上是关于检查 .txt 文件是不是存在。 FileWriter.exists 方法不起作用的主要内容,如果未能解决你的问题,请参考以下文章

检查txt文件中是不是存在许多URL(Python)[关闭]

检查 .txt 文件是不是存在。 FileWriter.exists 方法不起作用

检查文件是不是存在后如何删除

在 Pentaho 水壶中,如何检查文件名是不是存在?

apache spark - 检查文件是不是存在

检查linux脚本中是不是存在文件[重复]