gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 05:18:04 25 4
gpt4 key购买 nike

已解决!!!感谢您的帮助,伙计们让它工作了。欣赏它!

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

.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");
// }
}





}}

最佳答案

你这里有编译错误:

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());

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

关于java - 检查是否存在 .txt 文件。 FileWriter.exists 方法不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25819834/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com