网站首页
JSP空间
动态资讯
开源项目
技术文档
资源下载
J2EE资源
客户论坛
在线支付
 
  技术文档>>JAVA>>新手入门>>基础入门>查看文档  
  新手必读 java中流的概念     
  文章作者:未知  文章来源:水木森林  
  查看:106次  录入:管理员--2007-11-17  
 
  昨天寝室同学问了我个关于java流的问题,在解答完后很有感触,我认为可能所有新手都可能有这样的问题,所以总结一下发出来,呵呵.供大家参考:

  那,同学问我的题,提其实我也没太听明白什么意思,因为他表达不请,但有一点我是明确的,就是他要从键盘输入数(控制台的那种),然后计算出长方形的面积. 类似这个问题.呵呵,其实这个问题很简单,在c++里只需cin就ok了,但在java里,不是那么简单,他本来用system.in.read();但这个函数独进后返回的是int形,但实际上是ascii码,比如输入1,那么返回的是51(记不清1的asc码了),而不是1,当然你可以给他转换成char但char有转不了int,呵呵,总之很麻烦,俺也说不清,所以就换了一种方法.所以我换了一种方法,该方法如下,我想大概有不少新人都不太会,所以给出源码如下:

package test;

import java.io.bufferedreader;
import java.io.ioexception;
import java.io.inputstreamreader;

public class testinout {

 /**
 * @param args
 */
 public static void main(string[] args) {
  // todo 自动生成方法存根
  test test=new test();
  bufferedreader stdin = new bufferedreader(new inputstreamreader(system.in));
  system.out.print("请输入长方形的长:");
  try {
   test.seta(float.parsefloat(stdin.readline()));
   system.out.print("请输入长方形的宽:");
   test.setb(float.parsefloat(stdin.readline()));
   test.setarea();
   system.out.print("该长方形的面积是:");
   system.out.println(test.getarea());
  } catch (ioexception e) {
   // todo 自动生成 catch 块
   e.printstacktrace();
  }
 }
}

class test{
 private float a;
 private float b;

 public float getb() {
  return b;
 }
 public void setb(float b) {
  this.b = b;
 }
 public void seta(float a){
  this.a=a;
 }
 public float geta(){
  return a;
 }

 private float area;
 public float getarea() {
  return area;
 }
 public void setarea() {
  area=a*b;
 }
}

  执行结果:

   请输入长方形的长:3
   请输入长方形的宽:4
   该长方形的面积是:12.0

  这里面的 bufferedreader便是个流了,呵呵,所以我就顺便把流的东西总结了一下,请看下面代码:

package test;
import java.io.*;
public class iostreamdemo {
 public void samples() throws ioexception {
  // 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");
    }
   }
}

  我想看了上面的代码,大家应该对流有了一个简单的认识,会用它从键盘读数据了.
 
 
上一篇: 从原理上解决tomcat中文问题    下一篇: swt/jface开发入门指南之搭建开发环境
  相关文档
jxta技术与应用发展 11-17
用j2se api读取properties文件六种方法 03-05
使用设计模式改善程序结构(一) 11-17
使用开源工具提高j2ee系统的质量 11-17
使用j2me技术实现手机触摸屏开发的方法 11-16
java基础:关于java编程语言中的内部类说明 04-18
开发中对于java中文问题的几条分析原则 11-20
think in java 3rd 中文版3 11-17
深入掌握java技术 ejb调用原理分析一 11-17
基础:j2ee程序员应该掌握的linux知识 12-10
你知道数据大小吗? 11-17
jdbc编程基础第一部分 11-17
java servlet api说明文档(2.1a版)(一) 11-17
给java设计开发新手一些建议和意见(1) 11-17
corba对象生命周期之生命周期的评估 11-16
eclipse快速上手指南(3) 11-17
小心进行 j2ee web services 的测试 11-17
eclipse发布3.1rc1版本 11-16
java mail api及其应用 —— 一个邮件列表服务器的实现 (四).. 11-17
asp.net mvc:实现我们自己的视图引擎 (1) 09-05
返回首页 | 关于我们 | J网章程 | JSP空间合租 | 客服中心 | 免责声明 | 常见问题 | 参观机房
本站主机空间代理至厦门市华众网络科技有限公司
《中华人民共和国增值电信业务经营许可证》
编号:闽B2-20050079
@2005-2008福建JSP技术网 版权所有 闽ICP备05000928号
技术电话:13616026886
邮箱:admin@fjjsp.com 站长QQ,点击这里给我发消息