当前位置: 首页 > 知识库问答 >
问题:

如何创建可以再次读取的文本文件?[闭门]

沃宇
2023-03-14

我上过Java的基础课,但我的知识很少。自从我越来越熟悉Java以来,我在过去一两个月里创建了一个基于文本的rpg。我想知道是否有任何方法可以让程序创建一个“保存”文件存储在某个文件夹中,并提示用户是否想要打开保存的字符。我还没有学习Java的任何面向对象的部分。我能做些什么来实现这一点?

共有2个答案

滕星纬
2023-03-14

这是我用来保存文本的类,

import java.io.*;
import javax.swing.JFileChooser;
import javax.swing.JOptionPane;

public class Savetext {

    /**
     * Saves text to a <i>.txt</i> file with the specified name,
     * 
     * @param name the file name without the extension
     * 
     * @param txt the text to be written in the file
     * 
     * @param message the message to be displayed when done saving, if <tt>null</tt> no
     * message will be displayed
     */
    public static void Save(String name, String txt, String message) {
        name += ".txt";
        gtxt(name, txt, message);
    }

    private static void gtxt(String name, String txt, String mess) {
        JFileChooser fc = new JFileChooser();
        fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
        File file = null;
        fc.showSaveDialog(null);
        file = fc.getSelectedFile();
        String path = file.getPath();
        path += "\\";
        path += name;

        File f1 = new File(path);
        try {
            PrintWriter out = new PrintWriter(new BufferedWriter(
                    new FileWriter(f1)));
            wrtxt(out, txt, mess);
        } catch (IOException e) {

            JOptionPane.showMessageDialog(null, e.getMessage().toString());
        }

    }

    private static void wrtxt(PrintWriter out, String txt, String mess) {
        out.println(txt);
        out.flush();
        out.close();
        if (mess != null)
            JOptionPane.showMessageDialog(null, mess);
    }

}

您应该调用static save()方法,而不创建该类的实例,

沈巴英
2023-03-14

我想知道是否有任何方法,我可以让程序创建一个“保存”文件,存储在某个文件夹中,并提示用户,如果他们想打开一个保存的字符。

编写和读取文本文件是一种为游戏保存状态的可靠新手方法。

有很多方法可以写入这里列出的文件,但这里有一个例子:

PrintWriter out = new PrintWriter("filename.txt");//create the writer object
out.println(text);//write
out.close() //when you're done writing, this will save

现在,这里有一个简单的方法来读取从这里找到的文件:

BufferedReader br = new BufferedReader(new FileReader("filename.txt"));//objects to read with
try {
    StringBuilder sb = new StringBuilder();//use to build a giant string from the file
    String line = br.readLine();

    //loop file line by line
    while (line != null) {
        sb.append(line);
        sb.append(System.lineSeparator());
        line = br.readLine();
    }
    String everything = sb.toString();
} finally {
    br.close();//always close!
}

网上有许多教程,只需谷歌一下。|=^]

注意:始终记住关闭阅读器/作者/扫描仪/等。否则,您会遇到资源错误,您可以在这里阅读更多信息。

 类似资料:
  • 我试图通过创建一个函数来编写一个简单的文本文件阅读器,该函数接受文件的路径并将每行文本转换为char数组,但它不起作用。 这里出了什么问题? 从以前的修订版更改了一点代码后,这似乎仍然不起作用,现在它给我一个异常101。 我在Firefox上测试过这个功能,它可以工作,但在Google Chrome上它就是不工作,它一直给我一个异常101。我如何让它不仅适用于Firefox,还适用于其他浏览器(尤

  • 问题内容: 我想读取一个包含空格分隔值的文本文件。值是整数。如何读取并将其放入数组列表? 这是文本文件内容的示例: 我想将它包含在arraylist中。如何用Java做到这一点? 问题答案: 你可以用来将文本文件的所有行都放入。 教程:基本文件读取,写入和创建文本文件 你可以用来基于正则表达式拆分部分。 教程:数字和字符串>字符串>操纵字符串中的字符 你可以使用将转换为。 教程:数字和字符串>字符

  • 问题内容: 我正在尝试通过创建一个接受文件路径并将文本的每一行转换为char数组的函数来编写一个简单的文本文件阅读器,但是它不起作用。 这是怎么了? 从先前的版本中稍稍更改了代码后,这似乎仍然不起作用,现在给了我一个例外101。 我已经在Firefox上对其进行了测试,并且可以工作,但是在Google Chrome中它却无法工作,并且一直给我一个异常101。如何使它不仅可以在Firefox上而且还

  • 问题内容: 我试图将文本文件加载到我的JavaScript文件中,然后从该文件中读取行以获取信息,我尝试使用FileReader,但它似乎无法正常工作。有人可以帮忙吗? 问题答案: 是的,可以使用FileReader,我已经做了一个示例,这是代码: 最后,我只是读了其他一些吸引我的答案,但正如他们所建议的那样,您可能正在寻找使您能够从JavaScript文件所在的服务器(或设备)加载文本文件的代码

  • 我想从文本文件中读取文本。在下面的代码中,会发生异常(这意味着它会转到catch块)。我将文本文件放在应用程序文件夹中。我应该把这个文本文件(mani.txt)放在哪里才能正确阅读?

  • 问题内容: 我正在编写一个Python脚本,该脚本需要将一些数据写入临时文件,然后创建一个运行C ++程序的子进程,该程序将读取该临时文件。我正在尝试使用此功能,但是根据文档, 在命名的临时文件仍处于打开状态时,是否可以使用该名称第二次打开文件,会因平台而异(可以在Unix上使用;在Windows NT或更高版本上不能使用)。 实际上,在Windows上,如果我在写入后刷新了临时文件,但是在我希望