【发布时间】: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()方法!!!! -
感谢大家的帮助。现在工作得很好。很有帮助。
标签: java filewriter