s = inTwo.readLine(); // inTwo读取一行 }
inOne.close(); inTwo.close(); out.flush(); out.close(); tofile.close();
inOne = new FileReader(tempFile); // 创建指向文件tempFile的输入流 inTwo = new BufferedReader(inOne); // 创建指向inOne file的输入流 tofile =new FileWriter(file); // 创建指向文件file的输出流
out = new BufferedWriter(tofile); // 创建指向tofile的输出流
while((s = inTwo.readLine())!=null) // inTwo读取一行 {
out.write(s); out.newLine(); }
inOne.close(); inTwo.close(); out.flush(); out.close(); tofile.close();
inOne = new FileReader(file); // 创建指向文件file的输入流
inTwo = new BufferedReader(inOne); // 创建指向inOne file的输入流
while((s = inTwo.readLine())!=null) // inTwo读取一行 {
System.out.println(s); }
inOne.close(); inTwo.close(); tempFile.delete(); }
catch(IOException e) {
System.out.println(e); } } }
实验结果:
在c:/1000目录下存在一个hello.txt文件文件内容如下:
对ReadExample.java编译运行结果为:
分析:程序先新建一个temp.txt文件,将hello.txt的每一行复制到temp.txt并在每一行之前加入行号,然后用temp.txt的每一行覆盖原来hello.txt的每一行,最后在控制台打印添加行号的hello.txt
实验内容2源代码:
import java.io.*;
public class NumberExample {
public static void main(String args[]) {
int a1=12,a2=1180; long b=808080;
float x1=3.14F,x2=12.456F; double d=1234.9876;
boolean boo1=true,boo2=false; char c='我';
File f= new File(\创建文件。 try {
FileOutputStream fos = new FileOutputStream(f); // 创建指向f文件输出流
DataOutputStream out_data = new DataOutputStream (fos); // 创建指向fos 的数据输出流
out_data.writeInt(a1); // out_data将数据a1写入到文件 out_data.writeInt(a2); // out_data将数据a2写入到文件 out_data.writeLong(b); // out_data将数据b写入到文件 out_data.writeFloat(x1); // out_data将数据x1写入到文件 out_data.writeFloat(x2); // out_data将数据x2写入到文件
out_data.writeDouble(d); // out_data将数据d写入到文件
out_data.writeBoolean(boo1);// out_data将数据boo1写入到文件 out_data.writeBoolean(boo2);// out_data将数据boo2写入到文件 out_data.writeChar(c);// out_data将数据c写入到文件 }
catch(IOException e){} try {
FileInputStream fis = new FileInputStream(f); // 创建指向f文件输入流 DataInputStream in_data = new DataInputStream(fis); // 创建指向fis 的数据输入流
System.out.println(\ // in_data读取int整数 System.out.println(\ // in_data读取int整数 System.out.println(\ // in_data读取long整数 System.out.println(\ // in_data读取float数 System.out.println(\ // in_data读取float数 System.out.println(\in_data.readDouble()); // in_data读取double数
System.out.println(\in_data.readBoolean()); // in_data读取boolean数据
System.out.println(\in_data.readBoolean()); // in_data读取boolean数据
System.out.print(\in_data.readChar()); // in_data读取char数据
}
catch(IOException e){} } }
实验结果:
实验前c:/1000内容如下:
对NumberExample.java编译运行结果为
且c:/1000目录下多了一个hello1.txt
由于使用的是二进制I/O类所以hello1.txt以文本模型显示时为乱码:
分析:程序使用二进制I/O将若干字节写入一个名为hello1.txt文件,后将其读出显示于控制台
相关推荐: