302班

java突击队
posts - 151, comments - 74, trackbacks - 0, articles - 14
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

java中的输入[五个小例子介绍]

Posted on 2007-06-17 12:37 停留的风 阅读(662) 评论(0)  编辑  收藏
理解数据流
流一般分为输入流(Input Stream)和输出流(Output Stream)两类,但这种划分并不是绝对的。比如一个文件,当向其中写数据时,它就是一个输出流;当从其中读取数据时,它就是一个输入流。当然,键盘只是一个数人流,而屏幕则只是一个输出流。
字节流:
  从InputStream和OutputStream派生出来的一系列类。这类流以字节(byte)为基本处理单位。
     InputStream、OutputStream
     ◇ FileInputStream、FileOutputStream
     ◇ PipedInputStream、PipedOutputStream
     ◇ ByteArrayInputStream、ByteArrayOutputStream
     ◇ FilterInputStream、FilterOutputStream
     ◇ DataInputStream、DataOutputStream
     ◇ BufferedInputStream、BufferedOutputStream
字符流:
  从Reader和Writer派生出的一系列类,这类流以16位的Unicode码表示的字符为基本处理单位
     Reader、Writer
     ◇ InputStreamReader、OutputStreamWriter
     ◇ FileReader、FileWriter
     ◇ CharArrayReader、CharArrayWriter
     ◇ PipedReader、PipedWriter
     ◇ FilterReader、FilterWriter
     ◇ BufferedReader、BufferedWriter
     ◇ StringReader、StringWriter


例子1
import java.io.*;
public class Input1
{
public static void main(String args[]) throws IOException
{
System.out.println("Input: ");
byte buffer[] = new byte[512]; //输入缓冲区
int count = System.in.read(buffer); //读取标准输入流
System.out.println("Output: ");
for (int i=0;i<count;i++) //输出buffer元素值
{
System.out.print(" "+buffer[i]);
}
System.out.println();
for (int i=0;i<count;i++) //按字符方式输出buffer
{
System.out.print((char) buffer[i]);
}
System.out.println("count = "+ count); //buffer实际长度
}
}

运行结果:

例子2:
public class Input2
{
  public static void main(String[] args)
    {
       String Str=args[0];
       String Str1=args[1];      
       int tempInt=Integer.parseInt(Str);
    int tempInt1=Integer.parseInt(Str1);
       tempInt *=2;
       tempInt1*=3;

       System.out.println(tempInt);
       System.out.println(tempInt1);
     }
}
运行结果


例子3:
import java.io.*;
public class Input3
{
  public static void main(String[] args)
  throws IOException
   {
      BufferedReader in =new BufferedReader(new InputStreamReader(System.in));
      String s;
      while((s = in.readLine()).length() != 0)
    {
  int i=Integer.parseInt(s);
        System.out.println("您的输入数的两倍是  : " + i*2); 
    }
   }        
} //存在一个问题没有退出
运行结果

例子4:
public class Input4 {
   public static void main(String[] args) {
     byte[] buf = new byte[256];
    try {
           // input
            String str="";
   do{
  int c = System.in.read(buf,0,buf.length);
  str += new String(buf,0,c);
     } while(System.in.available()>0) ;

     str = str.substring(0,str.length()-1); // remove the last return
         int v = Integer.parseInt(str.trim());
         System.out.println(""+v*2);
      }
  
 catch(Exception e)
   {e.printStackTrace();}
   }
}
运行结果
 
例子5 :
import java.io.BufferedInputStream;
import java.io.DataInputStream;
import java.io.IOException;

public class Input5 {
 public static void main(String[] args) throws IOException {
  BufferedInputStream bs = new BufferedInputStream(System.in);
  DataInputStream dis = new DataInputStream(bs);
  byte[] b = new byte[4];//读取前四位
  dis.read(b);
  System.out.println(new String(b,"gbk"));
  dis.close();
 }

}
运行结果:


只有注册用户登录后才能发表评论。


网站导航: