[英]Storing String input in a file
好吧,在有人開始問我“ 愚蠢 ”問題而惹怒我之前,請注意,我幾乎已經用盡了我所知道的所有其他選擇,然后空手而歸。 不過,如果您願意,請繼續投票並舉報該問題。
現在,對於那些關心
我正在嘗試從用戶那里獲取String
輸入,並將其存儲到將在當前工作目錄中創建的Text.txt文件中。
以下是代碼
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");
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.