关闭

关于Java的IO的学习

发表于:2013-7-31 10:02

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:xiaozhonghuaa    来源:51Testing软件测试网采编

  可以从其中读入一个字节序列的对象称为:输入流

  可以从其中写入一个字节序列的对象称为:输出流

  字节的来源以及目的地可以是文件也可以是网络连接或者内存块

  抽象类inputstream和outputstream是面向字节的输入\输出类

  而从reader和writer抽象类继承出来的是面向双字节的unicode字符;

  Inputstream基本方法:

  Abstract void Read()读取一个字节并返回,遇到结尾是输出-1;

  Int avialable()查看流中还可用的字节数

  Void close()关闭当前流

  Outputstream基本方法:

  Abstract void write()写一个字节到流对象中

  Void close()关闭流,关闭的同时会将流中的内容送出;

  Void flush()输出并清空流

  Read和write在执行的时候是阻塞的;

  PushBackStream的用法:

package org.xzh.in;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.PushbackInputStream;
publicclass in {
publicstaticvoid main(String[] args){
String fileName="aa.txt";
int c=0;
int cc=0;
try{
PushbackInputStream s=new PushbackInputStream(new FileInputStream(fileName));
System.out.println(s);
while((c=s.read())!=-1){
if(c=='a'){
if((cc=s.read())== 's'){
System.out.println("daiti");
}else{
s.unread(cc);
System.out.println('a');
}
}else{
System.out.println((char)c);
}
s.close();
}catch(IOException e){
e.printStackTrace();
}
}
}

  这个类用于多字符匹配用;

  如果要以文本格式输入数据,使用的是SCANNER,下面是实例程序:

Scanner s = new Scanner(System.in);
//receive string
String str = s.next();
//receive integer
Integer i = s.nextInt();
//receive double
Double d = s.nextDouble();
System.out.println(str+i+d);

  Java中split的用法:

  关于字符集的学习

  获取一个字符集:Charset cset=Charset.forName(“ISO-8859-1”);

  获取某个字符集的别名:

  获取可用的字符集:

  Unicode字节序列与其他字符集的转换:

  转换的顺序是:字符—字节缓冲序列—字节

  解码的顺序:字节—字节缓冲学列—字符序列---字符串;

  随机读取文件:

  RandonAccessFile in=new RandomAccessFile(”ee.txt”.”r”);

  getFilePointer得到的是当前文件指针的位置

  seek(long n);定位到指定的位置

21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号