ry{ FileReader firstIn=new FileReader(file); //【代码 2】 // 创建指向 file 的字符输入流 // 创建指向 firstIn 缓冲流 // 创建指向内存的字符串输出流 //【代码 1】 // 该文件是某一个 java 源文件
BufferedReader secondIn=new BufferedReader(firstIn); StringWriter out=new StringWriter(); String s=null; while((s=secondIn.readLine())!=null) { out.write(s); //【代码 5】 } String content=out.toString(); firstIn.close(); secondIn.close(); out.close(); Pattern p; Matcher m; //【代码 6】 //【代码 4】
//【代码 3】
// out 将 s 写入内存 // out 获取曾写入到内存中的全部字符
p=Patternpile("[\\s(]{1}[A-Z]+\\w+");
m=p.matcher(content); TreeSet
tree=new TreeSet(); while(m.find()) { String str=m.group(); str=str.substring(1); tree.add(str); } Iterator iter=tree.iterator(); System.out.println(file.getName()+"使用了如下的类:"); while(iter.hasNext()) { String item=iter.next(); System.out.println(item); } } catch(IOException e) { System.out.println(e); } } }
9.2.4
读写基本类型数据
4.程序模板 .
按模板要求,将【代码 1】~【代码 21】替换为 Java 程序代码.
NumberExample.java
package test;
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("c:\\1000","hello1.txt");//【代码 1】 try { FileOutputStream fos=new FileOutputStream(f); //【代码 1】 // 创建指向 f 文件输出流 // 创建指向 fos 的数据输出流 //创建文件.
DataOutputStream out_data=new DataOutputStream (fos);//【代码 2】 out_data .writeInt(a1);//【代码 2】 out_data .writeInt(a2);//【代码 3】 out_data .writeLong(b);//【代码 4】 out_data .writeFloat(x1);//【代码 5】 out_data .writeFloat(x2);//【代码 6】 out_data .writeDouble(d);//【代码 7】 // out_data 将数据 a1 写入到文件 // out_data 将数据 a2 写入到文件 // out_data 将数据 b 写入到文件 // out_data 将数据 x1 写入到文件 // out_data 将数据 x2 写入到文件 // out_data 将数据 d 写入到文件
out_data .writeBoolean(boo1);//【代码 8】 // out_data 将数据 boo1 写入到文件 out_data .writeBoole
an(boo2);//【代码 9】// out_data 将数据 boo2 写入到文件 out_data .writeChar(c);//【代码 10】// out_data 将数据 c 写入到文件 } catch(IOException e){} try { FileInputStream fis=new FileInputStream(f);//【代码 11】 DataInputStream in_data=new DataInputStream(fis);//【代码 12】 System.out.println("a1:"+ in_data.readInt()); // System.out.println("a2:"+ in_data.readInt()); // System.out.println("b:"+ in_data.readLong()); // System.out.println("x1:"+ in_data.readFloat()); // System.out.println("x2:"+ in_data.readFloat ()); // System.out.println("d:"+ in_data.readDouble()); // System.out.println("boo1:"+ in_data.readBoolean()); // System.out.println("boo2:"+ in_data.readBoolean ()); // System.out.print("c:"+ in_data.readChar()); // } // 创建指向 f 文件输入流 // 创建指向 fis 的数据输入流
【代码 13】 // in_data 读取 int 整数 【代码 14】 // in_data 读取 int 整数 【代码 15】 // in_data 读取 long 整数 【代码 16】 // in_data 读取 float 数 【代码 17】 【代码 18】 // in_data 读取 float 数 // in_data 读取 double 数
【代码 19】 // in_data 读取 boolean 数据 【代码 20】 // in_data 读取 boolean 数据 【代码 21】// in_data 读取 char 数据
catch(IOException e){} } }
9.2.5
对象的写入