黑马程序员+Java中IO的总结

------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------

在Java的基础学习中,感觉IO方面比较乱,对此用思维导图及代码做了一些归纳和总结。由于个人能力有限,有错误误或不完善的地方,敬请指正,谢谢!







1:测试File类

public class TestJavaList {
	 private static ArrayList<String>al = new ArrayList<String>();
	//查询指定目录下的的,java文件。并保存到集合中。
	public static void searchJavaFile(File dir){
		File[] files =  dir.listFiles();
		for(int i = 0; i < files.length;i++)
		{
			if(files[i].isDirectory())
				searchJavaFile(files[i]);
			else{
				if(files[i].toString().endsWith(".java"))
				     al.add(files[i].getAbsolutePath());
			}
				 
				 
		}
	}
	//把集合的文件保存到指定文件中
	public static void saveJavaFile(String filename) throws IOException{
		FileWriter fw = new FileWriter(filename);
		BufferedWriter bw = new BufferedWriter(fw);
		for(Iterator<String> it = al.iterator();it.hasNext();){
			String str = it.next();
			bw.write(str);
			bw.newLine();
		}
		bw.close();
		 
			
	}

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		File dir = new File("D:\\dir");
		String filename ="d:\\file.txt";
		searchJavaFile(dir);
		try {
			saveJavaFile(filename);
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		

	}

	
}

2:测试Properties类
public class TestProInfo {

	/**
	 * @param args
	 * @throws IOException 
	 */
	public static void main(String[] args) throws IOException {
		// TODO Auto-generated method stub
		//Set<String>set = toProperties().stringPropertyNames();
		//for(String str:set)
			//System.out.println(str);
		System.out.println(toProperties1());
	}
	//将info.txt中的信息放到Properties集合中。
	public static Properties toProperties1() throws IOException{
		FileReader fr = new FileReader("d:\\info.txt");
		Properties p = new Properties();
		p.load(fr);
		p.setProperty("张三", "21");
		FileWriter fw = new FileWriter("d:\\info.txt");
		p.store(fw, "haha");
		return p;
		
	}
	public static Properties toProperties() throws IOException{
		FileReader fr = new FileReader("d:\\info.txt");
		BufferedReader br = new BufferedReader(fr);
		Properties p = new Properties();
		while(true){
			String str = br.readLine();
			if(str==null)
				break;
			String[] str_arr=str.split("=");
			p.setProperty(str_arr[0], str_arr[1]);
		}
		return p;
	}

}
3:测试RandomAccessFile类
public class TestRanAcessFile {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		File file = new File("d:\\random.txt");
		try {
			write(file);
			read(file);
			write1(file);
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

	}
	public static void write1(File file) throws IOException{
		文件不存在,会自动创建。
		RandomAccessFile raf = new RandomAccessFile(file,"rw");
		raf.seek(16);
		raf.write("王五".getBytes());
		raf.writeInt(56);
		raf.close();
	}
	public static void write(File file) throws IOException{
		//文件不存在,会自动创建。
		RandomAccessFile raf = new RandomAccessFile(file,"rw");
		raf.write("张三".getBytes());
		raf.writeInt(97);
		raf.write("李四".getBytes());
		raf.writeInt(87);
		raf.close();
	}
	public static void read(File file) throws IOException
	{
		if(!file.exists()){
			System.out.println("文件不存在");
			return;}
		RandomAccessFile raf = new RandomAccessFile(file,"r");
		//raf.seek(8);
		byte[] buf = new byte[4];
		raf.read(buf);
		String name = new String(buf);
		System.out.println("name"+"::::"+name);
		int age = raf.readInt();
		System.out.println("age"+"::::"+age);
		System.out.println(raf.getFilePointer());
		
		raf.close();
		
		
	}
}





 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值