将字符串输入存储在文件中
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");
}
}
好的,在有人因为我问 "愚蠢" 问题而开始攻击我之前,请注意我已经用尽了所有其他选项我知道却空手而归。不过,如果您愿意,请继续 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");
}
}