簡體   English   中英

將字符串輸入存儲在文件中

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM