站长百科 | 数字化技能提升教程 数字化时代生存宝典
首页
数字化百科
电子书
建站程序
开发
服务器
办公软件
开发教程
服务器教程
软件使用教程
运营教程
热门电子书
WordPress教程
宝塔面板教程
CSS教程
Shopify教程
导航
程序频道
推广频道
网赚频道
人物频道
网站程序
网页制作
云计算
服务器
CMS
论坛
网店
虚拟主机
cPanel
网址导航
WIKI使用导航
WIKI首页
最新资讯
网站程序
站长人物
页面分类
使用帮助
编辑测试
创建条目
网站地图
站长百科导航
站长百科
主机侦探
IDCtalk云说
跨境电商导航
WordPress啦
站长专题
网站推广
网站程序
网站赚钱
虚拟主机
cPanel
网址导航专题
云计算
微博营销
虚拟主机管理系统
开放平台
WIKI程序与应用
美国十大主机
编辑“
JAVA 输入/输出
”
人物百科
|
营销百科
|
网赚百科
|
站长工具
|
网站程序
|
域名主机
|
互联网公司
|
分类索引
跳转至:
导航
、
搜索
警告:
您没有登录。如果您做出任意编辑,您的IP地址将会公开可见。如果您
登录
或
创建
一个账户,您的编辑将归属于您的用户名,且将享受其他好处。
反垃圾检查。
不要
加入这个!
<span style="text-align:center; border:1px solid #000; float:right; padding:6px;"><strong>导航:</strong> [[JAVA学习教程#JAVA学习教程|上一页]] | {{template:开发语言导航}}</span> <div style="clear:both;"></div> 输入/输出(I/O)是每一项[[计算机]]语言,必须有的东西。不让人输入数据的话,计算机怎么处理数据呢?在[[java]]语言中,I/O的方式是流的方式。流(stream)这是个学习java输入输出的最基本的概念。流是字节从源到目的的有序序列。一方面是字节,一方面是有序的。流描述的是一个过程,顺序严格。一个需要键盘输入的程序可以用流来做到这一点。两种基本的流是:输入流和输出流。你可以从输入流读,但你不能对它写。要从输入流读取字节,必须有一个与这个流相关联的字符源。这些东西都放在java.io.*这个包里了。io是java的第一大包。在java.io 包中,有一些流是结点流,即它们可以从一个特定的地方读写,例如磁盘或者一块内存。其他流称作过滤流。一个过滤器输入流是用一个到已存在的输入流的连接创建的。此后,当你试图从过滤输入流对象读时,它向你提供来自另一个输入流对象的字符。 <br> 常见的几种流:<br> 字节流:传字节的。以8位字节为单位进行读写,以InputStream与OutputStream为基础类<br> 字符流: 传字符的。以16位字符为单位进行读写,以Reader与Writer为基础类<br> 文件流: 传文件的。属于节点流,对文件读写,传输。里面的类很多。<br> 序列化:传对象的。一个对象怎么读啊,只有变成二进制才可以读,这就是序列化。<br> 实践:<br> //这是一个字节流的例子,以InputStream与OutputStream为基础类<br> import java.io.*;<br> class ByteArrayOutputStreamDemo {<br> public static void main(String args[]) throws IOException {<br> ByteArrayOutputStream f = new ByteArrayOutputStream();<br> String s = "This should end up in the array";<br> byte buf[] = s.getBytes();<br> f.write(buf);<br> System.out.println("Buffer as a string");<br> System.out.println(f.toString());<br> System.out.println("Into array");<br> byte b[] = f.toByteArray();<br> for (int i=0; i<b.length; i++) {<br> System.out.print((char) b[i]);}<br> System.out.println("\nTo an OutputStream()");<br> //输出到文件test.txt中<br> OutputStream f2 = new FileOutputStream("test.txt");<br> f.writeTo(f2);<br> f2.close();<br> System.out.println("Doing a reset");<br> f.reset();<br> for (int i=0; i<3; i++)<br> f.write('X');<br> System.out.println(f.toString());}} <br> //字符流的例子,以Reader与Writer为基础类<br> import java.io.*;<br> public class CharArrayReaderDemo {<br> public static void main(String args[]) throws IOException {<br> String tmp = "abcdefghijklmnopqrstuvwxyz";<br> int length = tmp.length();<br> char c[] = new char[length];<br> tmp.getChars(0, length, c, 0);<br> CharArrayReader input1 = new CharArrayReader(c);<br> CharArrayReader input2 = new CharArrayReader(c, 0, 5);<br> int i;<br> System.out.println("input1 is:");<br> while((i = input1.read()) != -1) {<br> System.out.print((char)i);}<br> System.out.println();<br> System.out.println("input2 is:");<br> while((i = input2.read()) != -1) {<br> System.out.print((char)i);}<br> System.out.println();<br> }}<br> //文件流的例子<br> import java.io.*;<br> class FileInputStreamDemo {<br> public static void main(String args[]) throws Exception {<br> int size;<br> InputStream f =<br> new FileInputStream("FileInputStreamDemo.java");<br> System.out.println("Total Available Bytes: " +<br> (size = f.available()));<br> int n = size/40;<br> System.out.println("First " + n +<br> " bytes of the file one read() at a time");<br> for (int i=0; i < n; i++) {<br> System.out.print((char) f.read());<br> }<br> System.out.println("\nStill Available: " + f.available());<br> System.out.println("Reading the next " + n +<br> " with one read(b[])");<br> byte b[] = new byte[n];<br> if (f.read(b) != n) {<br> System.err.println("couldn't read " + n + " bytes.");<br> }<br> System.out.println(new String(b, 0, n));<br> System.out.println("\nStill Available: " + (size = f.available()));<br> System.out.println("Skipping half of remaining bytes with skip()");<br> f.skip(size/2);<br> System.out.println("Still Available: " + f.available());<br> System.out.println("Reading " + n/2 + " into the end of array");<br> if (f.read(b, n/2, n/2) != n/2) {<br> System.err.println("couldn't read " + n/2 + " bytes.");<br> }<br> System.out.println(new String(b, 0, b.length));<br> System.out.println("\nStill Available: " + f.available());<br> f.close();<br> }<br> } <br> [[category:Java教程]]
摘要:
请注意,您对站长百科的所有贡献都可能被其他贡献者编辑,修改或删除。如果您不希望您的文字被任意修改和再散布,请不要提交。
您同时也要向我们保证您所提交的内容是您自己所作,或得自一个不受版权保护或相似自由的来源(参阅
Wordpress-mediawiki:版权
的细节)。
未经许可,请勿提交受版权保护的作品!
取消
编辑帮助
(在新窗口中打开)
本页使用的模板:
模板:开发语言导航
(
编辑
)