码迷,mamicode.com
首页 > 其他好文 > 详细

输入流操作

时间:2020-01-25 18:18:23      阅读:70      评论:0      收藏:0      [点我收藏+]

标签:charset   stream   print   扫描器   表达式   扫描   ext   inpu   ati   


将已经存在的字符串设置为系统输入流这是OJ上面不用键盘输入而使用之前写死的字符作为你提交程序输入的原理。

useDelimiter


一个简单的文本扫描器,可以使用正则表达式解析原始类型和字符串。
A Scanner分隔符模式将输入打破到令牌,默认情况下匹配空格。

技术图片

import org.apache.commons.io.Charsets;
import org.apache.commons.io.IOUtils;

import java.io.InputStream;
import java.util.LinkedList;
import java.util.List;
import java.util.Scanner;

public class OJTest {
    public static void main(String[] args) {
        List<String> list = new LinkedList<>();
        list.add("xiaohu");
        list.add("xiaoming");
        list.add("zhangjie");

        //合并为一个字符以,连接
        String names=String.join(",",list);

        //将字符串作为系统的输入流
        InputStream is= IOUtils.toInputStream(names, Charsets.toCharset("utf-8"));
        //重置系统输入流
        System.setIn(is);

        Scanner sc = new Scanner(System.in);
        sc.useDelimiter(",");

        while(sc.hasNext()){
            String str=sc.next();
            System.out.println(str);
        }
    }
}

输入流操作

标签:charset   stream   print   扫描器   表达式   扫描   ext   inpu   ati   

原文地址:https://www.cnblogs.com/cstdio1/p/12233247.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!