java中的System.in是什么意思?
System.in是一个很原始、很简陋的输入流对象,通常不直接使用它来读取用户的输入。
一般会在外面封装过滤流:BufferedReader br = new BufferedReader(new InputStreamReader(System.in));调用br.readLine()方法进行读取。
System.in 读取的是字节流;
InputStreamReader读取的是字符流;
BufferedReader读取的是字符串;
System.in 和InputStreamReader属于低级流;
BufferedReader属于高级流。
System类代表系统
系统级的很多属性和控制方法都放置在该类的内部。该类位于java.lang包。
由于该类的构造方法是private的,所以无法创建该类的对象,也就是无法实例化该类。其内部的成员变量和成员方法都是static的,所以也可以很方便的进行调用。
标准输入输出, 如out、in、err
外部定义的属性和环境变量的访问,如getenv()/setenv()和getProperties()/setProperties()
加载文件和类库的方法,如load()和loadLibrary()、
快速拷贝数组的方法:arraycopy()
以上内容参考:百度百科-system
读取标准输入设备数据。
java 里System.in 输入流怎么使用:
//1. 这是从键盘读入一行数据,返回的是一个字符串
BufferedReader stdin =new BufferedReader(new InputStreamReader(System.in));
System.out.print("Enter a line:");
System.out.println(stdin.readLine());
//2. 这是从文件中逐行读入数据
BufferedReader in = new BufferedReader(new FileReader("IOStreamDemo.java"));
String s, s2 = new String();
while((s = in.readLine())!= null)
s2 += s + "\n";
in.close();
//3. 这是从一个字符串中逐个读入字节
StringReader in1 = new StringReader(s2);
int c;
while((c = in1.read()) != -1)
System.out.print((char)c);
//4. 这是将一个字符串写入文件
try {
BufferedReader in2 = new BufferedReader(new StringReader(s2));
PrintWriter out1 = new PrintWriter(new BufferedWriter(new FileWriter("IODemo.out")));
int lineCount = 1;
while((s = in2.readLine()) != null )
out1.println(lineCount++ + ": " + s);
out1.close();
} catch(EOFException e) {
System.err.println("End of stream");
广告 您可能关注的内容 |