通过字节输入流时如果输入的内容中间有空格,那么空格后面的内容为什么不能被写入到磁盘中去列

解决方案 »

  1.   

    1、看来你是用Scanner读取键盘信息。用Scanner时空格符是next()方法读取的一个结束标记,如果键盘输入的字符串被空格分隔,next()只能返回空格前的内容,空格后面的内容需要使用下次next()方法来读取。2、键盘流可以用BufferReader对System.in出入的流进行封装。然后以行为单位读取字符串。示例代码:
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.util.Scanner;
    public class TestIO {
    public static void main(String[] args) {
    //使用Scanner
    Scanner scanner=new Scanner(System.in);
    String string=scanner.next();
    System.out.println(string);
    String string1=scanner.next();
    System.out.println(string1);

    //下面是用BufferedReader
    /* InputStream inputStream=System.in;
    InputStreamReader inputStreamReader=new InputStreamReader(inputStream);
    BufferedReader bufferedReader=new BufferedReader(inputStreamReader);
    try {
    String readin=bufferedReader.readLine();
    if (readin!=null) {
    System.out.println("Read Keyboard in:"+readin);
    }
    } catch (IOException e) {
    e.printStackTrace();
    }
    */
    }}