使用FileOutputStream时,在单行中保存输入

时间:2017-02-07 09:22:21

标签: java netbeans

在执行 NetBeans (IDE 8.0.2)中的代码时,输​​入已保存为单行,即使我按Enter键转到下一行但 uncanny part如果我使用命令提示符

执行代码,效果很好
class CreateFile{

public static void main(String... args) throws FileNotFoundException, IOException {

    //attach keyboard to DataInputStream
    DataInputStream dis = new DataInputStream(System.in);

    //attach file to FileOutputStream
    // using BufferedOutputStream and setting size (default 512)
    try (BufferedOutputStream bout = new BufferedOutputStream(new FileOutputStream("myFile.txt",true),1024)) {

        System.out.println("Enter text (@ at the end): ");
        char ch;
        //read character from DataInputStream into ch and the into FileOutputStream
        //repeat as long as the read character is not @
        while ((ch = (char) dis.read()) != '@') {
            bout.write(ch);
        }
    }
}
}

1 个答案:

答案 0 :(得分:0)

没有整体解决方案。只能有一个IDE特定的解决方案,但你不要将你的实现绑定到IDE。

IDE有自己的处理与控制台输入和输出相关的流。他们可能会出于自己的目的拦截它们,因此IDE(此处为NetBeans)可能不会以相同的方式填充“行终止符”,甚至可能像windows或linux命令行那样填充它。