java io 例子

public class TestIO{
public static void main(String[] args) throws IOException{
//1.以行为单位从一个文件读取数据
BufferedReader in = new BufferedReader( new FileReader("F:\\nepalon\\TestIO.java"));
String s, s2 = new String();
while((s = in.readLine()) != null)
s2 += s + "\n"; in.close();
//1b. 接收键盘的输入
BufferedReader stdin = new BufferedReader( new InputStreamReader(System.in));
System.out.println("Enter a line:");
System.out.println(stdin.readLine());
//2. 从一个String对象中读取数据
StringReader in2 = new StringReader(s2);
int c;
while((c = in2.read()) != -1)
System.out.println((char)c);
in2.close();
//3. 从内存取出格式化输入
try{ DataInputStream in3 = new DataInputStream( new ByteArrayInputStream(s2.getBytes()));
while(true)
System.out.println((char)in3.readByte());
} catch(EOFException e){
System.out.println("End of stream"); }
//4. 输出到文件
try{ BufferedReader in4 = new BufferedReader( new StringReader(s2));
PrintWriter out1 = new PrintWriter( new BufferedWriter( new FileWriter("F:\\nepalon\\ TestIO.out")));
int lineCount = 1; while((s = in4.readLine()) != null) out1.println(lineCount++ + ":" + s);
out1.close(); in4.close();
} catch(EOFException ex){
System.out.println("End of stream"); }
//5. 数据的存储和恢复
try{ DataOutputStream out2 = new DataOutputStream( new BufferedOutputStream( new FileOutputStream("F:\\nepalon\\ Data.txt")));
out2.writeDouble(3.1415926);
out2.writeChars("\nThas was pi:writeChars\n");
out2.writeBytes("Thas was pi:writeByte\n");
out2.close();
DataInputStream in5 = new DataInputStream( new BufferedInputStream( new FileInputStream("F:\\nepalon\\ Data.txt")));
BufferedReader in5br = new BufferedReader( new InputStreamReader(in5));
System.out.println(in5.readDouble()); System.out.println(in5br.readLine());
System.out.println(in5br.readLine()); } catch(EOFException e){ System.out.println("End of stream");
}
//6. 通过RandomAccessFile操作文件
RandomAccessFile rf = new RandomAccessFile("F:\\nepalon\\ rtest.dat", "rw");
for(int i=0; i<10; i++)
rf.writeDouble(i*1.414);
rf.close();
rf = new RandomAccessFile("F:\\nepalon\\ rtest.dat", "r");
for(int i=0; i<10; i++)
System.out.println("Value " + i + ":" + rf.readDouble());
rf.close();
rf = new RandomAccessFile("F:\\nepalon\\ rtest.dat", "rw");
rf.seek(5*8);
rf.writeDouble(47.0001); rf.close();
rf = new RandomAccessFile("F:\\nepalon\\ rtest.dat", "r"); for(int i=0; i<10; i++)
System.out.println("Value " + i + ":" + rf.readDouble()); rf.close(); } }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值