您的位置:首页 > 编程语言 > Java开发

Java IO流几种经典使用方式

2013-01-17 09:46 309 查看
package Test;

import java.io.*;

public class Test{
public static void main(String[] args) throws IOException{
//reading input by lines from file
BufferedReader in=new BufferedReader(
new FileReader(
"E:\\JavaProgram\\Test\\src\\test\\Test.java"));
String s,s2=new String();
while((s=in.readLine())!=null) s2+=s+"\n";
System.out.println(s2);
in.close();

//从标准输入读入(键盘)
BufferedReader stdin=new BufferedReader(new InputStreamReader(System.in));
System.out.print("Enter a line:");
stdin.skip(10);
String si=stdin.readLine();
System.out.println(s);
stdin.close();

//从内存变量读入
StringReader in2=new StringReader(s2);
int c;
while((c=in2.read())!=-1)
System.out.print((char)c);

//从格式化内存读入
try{
DataInputStream in3=new DataInputStream(
new ByteArrayInputStream(s2.getBytes()));
while(true)
System.out.print((char)in3.readByte()+"\n");
}catch(EOFException e){
System.err.println("End of stream");
}

//输出到文件
try{
BufferedReader in4=new BufferedReader(new StringReader(s2));
PrintWriter out1=new PrintWriter(
new BufferedWriter(new FileWriter("IODemo.out")));
int lineCount=1;
while((s=in4.readLine())!=null) out1.println(lineCount++ +":"+s);
out1.close();
}catch(EOFException e){
System.err.println("End of stream");
}

//存储覆盖数据到文件
try{
DataOutputStream out2=new DataOutputStream(
new BufferedOutputStream(
new FileOutputStream("Data.txt")));
out2.writeDouble(3.14159);
out2.writeUTF("that is pi");
out2.close();
DataInputStream in5=new DataInputStream(
new BufferedInputStream(
new FileInputStream("Data.txt")));
System.out.println(in5.readDouble());
System.out.println(in5.readUTF());
}catch(EOFException e){
throw new RuntimeException(e);
}

//reading/writing random access files随机读取和输出到文件
RandomAccessFile rf=new RandomAccessFile("rtest.dat","rw");
for(int i=0;i<10;i++) rf.writeDouble(i*1.414);
rf.writeUTF("fuck you");
rf.close();
rf=new RandomAccessFile("rtest.dat","rw");
rf.seek(5*8);
rf.writeDouble(47.0001);
rf.close();
rf=new RandomAccessFile("rtest.dat","r");
for(int i=0;i<10;i++) System.out.println("value "+i+": "+rf.readDouble());
System.out.println(rf.readUTF());
rf.close();
}
}

该文章转载自网络大本营:http://www.xrss.cn/Dev/JAVA/200781715736.Html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: