将字符串输入存储在文件中

Storing String input in a file

好的,在有人因为我问 "愚蠢" 问题而开始攻击我之前,请注意我已经用尽了所有其他选项我知道却空手而归。不过,如果您愿意,请继续 downvote/report 这个问题。

现在,对于那些关心

的人

我正在尝试从用户那里获取 String 输入并将其存储到文件中 Text.txt将在当前工作目录中创建。

Following is the code

import java.io.BufferedWriter;
import java.io.FileWriter;
import java.util.Scanner;


public class Encryption {

    public static void main(String[] args) throws Exception {

        System.out.println("Enter a String you wish to encrypt : ");
        new BufferedWriter(new FileWriter(".\Text.txt")).write(new Scanner(System.in).nextLine());
        System.out.println("Done");
    }
}

我的问题是,文件在正确的目的地生成,但始终为空。我已经在多个 JDK 版本和不同的机器上尝试过。仍然收到空白文本文件。

请告诉我,我做错了什么。

您没有使用 .close() BufferedWriter 关闭(然后它将刷新最后一个缓冲区并关闭文件)。

但是您可以用新的方式完成该任务:

    Files.write(Paths.get(".\Text.txt"),
                Arrays.asList(new Scanner(System.in).nextLine()),
                Charset.defaultCharset());

否则你需要引入一个变量,并且没有一行。

我对您的代码进行了一些更改

import java.io.BufferedWriter;
import java.io.FileWriter;
import java.util.Scanner;


public class Encryption {

    public static void main(String[] args) throws Exception {

        System.out.println("Enter a String you wish to encrypt : ");
        String text = new Scanner(System.in).nextLine();
        BufferedWriter b = new BufferedWriter(new FileWriter(".\Text.txt"));
        b.write(text);
        b.close();
        System.out.println("Done");
    }
}