Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.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 为什么可以';我是否将数据存储在.txt文件中?_Java_File_Class_Oop_Instance - Fatal编程技术网

Java 为什么可以';我是否将数据存储在.txt文件中?

Java 为什么可以';我是否将数据存储在.txt文件中?,java,file,class,oop,instance,Java,File,Class,Oop,Instance,这是我正在开发的一个锻炼应用程序。其想法是创建一个帐户(文本文件)并将输入的数据存储在其中。这是我到目前为止所拥有的 public static void main(String[] args) { boolean start = true; while (start == true) { CreateNewMember(); start = DecideToAddOrQuit(); } } public static void

这是我正在开发的一个锻炼应用程序。其想法是创建一个帐户(文本文件)并将输入的数据存储在其中。这是我到目前为止所拥有的

public static void main(String[] args) {

    boolean start = true;

    while (start == true) {

        CreateNewMember();
        start = DecideToAddOrQuit();
    }
}


public static void CreateNewMember() {

    Scanner keyboard = new Scanner(System.in);
    out.println("Enter a username: ");
    String input = keyboard.nextLine();
    createMember member = new createMember(input);
    member.setMembership();
    member.setInfo();
}

public static boolean DecideToAddOrQuit() {
    Scanner keyboard = new Scanner(System.in);
    out.println("\nPress 1 if you want to continue adding data.");
    out.println("Press any other key if you want to leave.");

    String decision = keyboard.nextLine();
    if (decision.equals("1")) {
        out.println("");
        return true;
    } else {
        out.println("Goodbye!");
        return false;
    }
}
下面是负责向文件中添加数据的类:

public class createMember {

public String name;
private String fullName;
private String age;
private String experience;

private Formatter x;

public createMember(String name) {
    this.name = name;
}

public void setMembership() {
    try {           
        x = new Formatter(name);   
        out.println("File with name \"" + name + "\" has been created!");
    } catch (Exception e) {
        out.println("Could not create username.");
    }
}

public void setInfo () {
    Scanner keyboard = new Scanner(System.in);
    String fullNameIn, ageIn, experienceIn;

    out.println("Enter your Full Name");
    fullNameIn = keyboard.nextLine();
    fullName = fullNameIn;
    out.println("Enter your Age");
    ageIn = keyboard.nextLine();
    age = ageIn;
    out.println("Enter your lifting experience\n");
    experienceIn = keyboard.nextLine();
    experience = experienceIn;
    x.format("%s\t%s\t%s", fullName, age, experience );
 }

}

我输入的值(全名、年龄、经验)不存储在用户名文件中。如何修复此问题及其原因?

如果您希望在程序运行时写入输出,您可能看不到它,因为
格式化程序


您必须在处理完文件(
x.close()
)后写入该文件,以便写入任何剩余的缓冲数据(即使在程序退出时,也不会自动写入)。另外,如果您希望立即写入输出,则在您写入一行(
x.flush()
)后立即写入输出。

如果您希望在程序运行时写入输出,您可能看不到它,因为
格式化程序


您必须在处理完文件(
x.close()
)后写入该文件,以便写入任何剩余的缓冲数据(即使在程序退出时,也不会自动写入)。另外,如果您希望立即写入输出,则在您写入一行(
x.flush()
)后立即写入输出。

如果您希望在程序运行时写入输出,您可能看不到它,因为
格式化程序


您必须在处理完文件(
x.close()
)后写入该文件,以便写入任何剩余的缓冲数据(即使在程序退出时,也不会自动写入)。另外,如果您希望立即写入输出,则在您写入一行(
x.flush()
)后立即写入输出。

如果您希望在程序运行时写入输出,您可能看不到它,因为
格式化程序


您必须在处理完文件(
x.close()
)后写入该文件,以便写入任何剩余的缓冲数据(即使在程序退出时,也不会自动写入)。另外,如果您希望立即实际写入输出,则在您写入一行(
x.flush()
)后立即写入。这个问题不是最清楚的,但就我而言,您从未告诉过任何人将数据实际写入文件。您应该使用
PrintWriter
。这将把您想要的数据加载到文件中。另外,在代码中,永远不会创建文件

import java.io.PrintWriter;

public class createMember {

public String name;
private String fullName;
private String age;
private String experience;

// private Formatter x; not quite sure what this does. There seems to be no need for it.

PrintWriter write;

File f;    

public createMember(String name) {
    this.name = name;
}

public void setMembership() throws Exception {
    try {           
        // x = new Formatter(name);
        f = new File (name);
        f.createNewFile(); // This throws a HeadlessException (i believe, as it might be a FileNotFoundException instead)
        out.println("File with name \"" + name + "\" has been created!");
    } catch (Exception e) {
        out.println("Could not create username.");
    }
}

public void setInfo () throws Exception {
    Scanner keyboard = new Scanner(System.in);
    String fullNameIn, ageIn, experienceIn;
    write = new PrintWriter(f.toString()); // This throws a FileNotFoundException
    out.println("Enter your Full Name");
    fullNameIn = keyboard.nextLine();
    fullName = fullNameIn;
    write.println (fullName);
    out.println("Enter your Age");
    ageIn = keyboard.nextLine();
    age = ageIn;
    write.println(age);
    out.println("Enter your lifting experience\n");
    experienceIn = keyboard.nextLine();
    experience = experienceIn;
    write.println(experience);
    //x.format("%s\t%s\t%s", fullName, age, experience );
    write.close(); // Be sure to close it, or it gives a warning and the file is never written.
 }

}

我希望这就是你所寻找的,并且快乐地编码

这个问题不是最清楚的,但就我而言,你根本没有告诉过任何人将数据写入文件。您应该使用
PrintWriter
。这将把您想要的数据加载到文件中。另外,在代码中,永远不会创建文件

import java.io.PrintWriter;

public class createMember {

public String name;
private String fullName;
private String age;
private String experience;

// private Formatter x; not quite sure what this does. There seems to be no need for it.

PrintWriter write;

File f;    

public createMember(String name) {
    this.name = name;
}

public void setMembership() throws Exception {
    try {           
        // x = new Formatter(name);
        f = new File (name);
        f.createNewFile(); // This throws a HeadlessException (i believe, as it might be a FileNotFoundException instead)
        out.println("File with name \"" + name + "\" has been created!");
    } catch (Exception e) {
        out.println("Could not create username.");
    }
}

public void setInfo () throws Exception {
    Scanner keyboard = new Scanner(System.in);
    String fullNameIn, ageIn, experienceIn;
    write = new PrintWriter(f.toString()); // This throws a FileNotFoundException
    out.println("Enter your Full Name");
    fullNameIn = keyboard.nextLine();
    fullName = fullNameIn;
    write.println (fullName);
    out.println("Enter your Age");
    ageIn = keyboard.nextLine();
    age = ageIn;
    write.println(age);
    out.println("Enter your lifting experience\n");
    experienceIn = keyboard.nextLine();
    experience = experienceIn;
    write.println(experience);
    //x.format("%s\t%s\t%s", fullName, age, experience );
    write.close(); // Be sure to close it, or it gives a warning and the file is never written.
 }

}

我希望这就是你所寻找的,并且快乐地编码

这个问题不是最清楚的,但就我而言,你根本没有告诉过任何人将数据写入文件。您应该使用
PrintWriter
。这将把您想要的数据加载到文件中。另外,在代码中,永远不会创建文件

import java.io.PrintWriter;

public class createMember {

public String name;
private String fullName;
private String age;
private String experience;

// private Formatter x; not quite sure what this does. There seems to be no need for it.

PrintWriter write;

File f;    

public createMember(String name) {
    this.name = name;
}

public void setMembership() throws Exception {
    try {           
        // x = new Formatter(name);
        f = new File (name);
        f.createNewFile(); // This throws a HeadlessException (i believe, as it might be a FileNotFoundException instead)
        out.println("File with name \"" + name + "\" has been created!");
    } catch (Exception e) {
        out.println("Could not create username.");
    }
}

public void setInfo () throws Exception {
    Scanner keyboard = new Scanner(System.in);
    String fullNameIn, ageIn, experienceIn;
    write = new PrintWriter(f.toString()); // This throws a FileNotFoundException
    out.println("Enter your Full Name");
    fullNameIn = keyboard.nextLine();
    fullName = fullNameIn;
    write.println (fullName);
    out.println("Enter your Age");
    ageIn = keyboard.nextLine();
    age = ageIn;
    write.println(age);
    out.println("Enter your lifting experience\n");
    experienceIn = keyboard.nextLine();
    experience = experienceIn;
    write.println(experience);
    //x.format("%s\t%s\t%s", fullName, age, experience );
    write.close(); // Be sure to close it, or it gives a warning and the file is never written.
 }

}

我希望这就是你所寻找的,并且快乐地编码

这个问题不是最清楚的,但就我而言,你根本没有告诉过任何人将数据写入文件。您应该使用
PrintWriter
。这将把您想要的数据加载到文件中。另外,在代码中,永远不会创建文件

import java.io.PrintWriter;

public class createMember {

public String name;
private String fullName;
private String age;
private String experience;

// private Formatter x; not quite sure what this does. There seems to be no need for it.

PrintWriter write;

File f;    

public createMember(String name) {
    this.name = name;
}

public void setMembership() throws Exception {
    try {           
        // x = new Formatter(name);
        f = new File (name);
        f.createNewFile(); // This throws a HeadlessException (i believe, as it might be a FileNotFoundException instead)
        out.println("File with name \"" + name + "\" has been created!");
    } catch (Exception e) {
        out.println("Could not create username.");
    }
}

public void setInfo () throws Exception {
    Scanner keyboard = new Scanner(System.in);
    String fullNameIn, ageIn, experienceIn;
    write = new PrintWriter(f.toString()); // This throws a FileNotFoundException
    out.println("Enter your Full Name");
    fullNameIn = keyboard.nextLine();
    fullName = fullNameIn;
    write.println (fullName);
    out.println("Enter your Age");
    ageIn = keyboard.nextLine();
    age = ageIn;
    write.println(age);
    out.println("Enter your lifting experience\n");
    experienceIn = keyboard.nextLine();
    experience = experienceIn;
    write.println(experience);
    //x.format("%s\t%s\t%s", fullName, age, experience );
    write.close(); // Be sure to close it, or it gives a warning and the file is never written.
 }

}

我希望这就是你所寻找的,并且快乐地编码

如果你不知道出了什么问题,那么你怎么知道它不起作用?也就是说,你至少能告诉我们你有什么问题吗?我很抱歉说不清楚。我现在在底部添加了更多信息。“我输入的值未存储在用户名文件中。我如何修复此问题以及为什么会发生?”现在-无。我要存储的值是全名、年龄和经验。它们位于public void setInfo()方法中。如果在程序仍在运行时通过文本编辑器检查文件,则可能需要与格式化程序联系以查看文件中的数据。如果不知道发生了什么问题,则如何知道它不工作?也就是说,你至少能告诉我们你有什么问题吗?我很抱歉说不清楚。我现在在底部添加了更多信息。“我输入的值未存储在用户名文件中。我如何修复此问题以及为什么会发生?”现在-无。我要存储的值是全名、年龄和经验。它们位于public void setInfo()方法中。如果在程序仍在运行时通过文本编辑器检查文件,则可能需要与格式化程序联系以查看文件中的数据。如果不知道发生了什么问题,则如何知道它不工作?也就是说,你至少能告诉我们你有什么问题吗?我很抱歉说不清楚。我现在在底部添加了更多信息。“我输入的值未存储在用户名文件中。我如何修复此问题以及为什么会发生?”现在-无。我要存储的值是全名、年龄和经验。它们位于public void setInfo()方法中。如果在程序仍在运行时通过文本编辑器检查文件,则可能需要与格式化程序联系以查看文件中的数据。如果不知道发生了什么问题,则如何知道它不工作?也就是说,你至少能告诉我们你有什么问题吗?我很抱歉说不清楚。我现在在底部添加了更多信息。“我输入的值未存储在用户名文件中。我如何修复此问题以及为什么会发生?”现在-无。我要存储的值是全名、年龄和经验。它们位于public void setInfo()方法中。如果您在程序仍在运行时通过文本编辑器检查文件,则可能需要与格式化程序联系以查看文件中的数据。问题在于没有close()。谢谢你,杰森!不