`
Michael.solofly
  • 浏览: 59338 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

人都是被逼出来的——IO简单操作、EL取Hashmap、JS获取地址栏参数

阅读更多
话说。。人啊。都是被逼出来的。。

当年学Java的时候最烂的就是IO这一段。

结果。现在工作了。1年来都没接触IO了。忽然给我一任务。

除了文件还是文件……目的是要分析整个文件的结构。。然后转存到数据库(SCORM大对象)

无奈……在看Demo和做暂时性硬盘存储的时候……无尽的IO。。。

最后整理一点东西……发上来。当作给自己的备忘



判断文件是否存在。
import java.io.File;
File f=new File(scoFile); 
/*
我自己遇到的误区 File f=FileInputStream(scoFile);
  我说明一下。这个误区是我自己的误区。虽然是很简单的问题。还是希望大家不要鄙视。
相信但凡懂点的都能看明白。我这里new了一个File然后后面读出来的是流……因为我对IO实在是相当烂……顺便说一声。因为使用的开发工具是UltraEdit……(就那个文本编辑器。)所以才会出现这么恶劣的问题。不然直接变异就报红线了……我也就不用调整半天了
*/

//判断文件是否存在
if(f.exists())
{
 .........
}

//文件夹路径
String userDir = File.separator + SRTEFILESDIR + File.separator + mUserID + File.separator+ courseID;

File theRTESCODataDir = new File(userDir);
//判断目录是否存在
if( !theRTESCODataDir.isDirectory() )
{
 //不存在就创建目录
 theRTESCODataDir.mkdirs();
}

//文件路径
String tree = iPath + "CourseImports" + File.separator + courseID + File.separator + "serialize.obj";
//读取到文件流
FileInputStream in = new FileInputStream(tree);
//文件流转成对象流
ObjectInputStream ie = new ObjectInputStream(in);
//从对象流中读取到对象
mySeqActivityTree = (SeqActivityTree)ie.readObject();
//关闭对象流
ie.close();
//关闭文件流
in.close();


在上面判断是否文件存在的地方。我使用了另外一种方法。不是用if(f.exists())
而是直接给路径读入到流里面……然后Try这一句话。如果发生FileNotFoundException
就在catch里面去创建这个文件,再读取……

//我的try写法
try
{
    //把文件读入到流里面
    fi = new FileInputStream(scoFile);
}
catch( FileNotFoundException fnfe )
{
         //我自己的一个方法,创建文件的
	fileHandler.initializeStateFile();
         //把文件读入到流里面
	fi = new FileInputStream(scoFile);
}
//正式的写法
File f=new File(scoFile); 
if(f.exists())
{
   fi = new FileInputStream(scoFile);
}else
{
   fileHandler.initializeStateFile();
   fi = new FileInputStream(scoFile);
}

这样子做,我就省去了if的麻烦。又要New文件。又要进行判断。一般Try都是用来执行可能会对程序有破坏性的代码的。但是我这里给他当IF用。是因为我觉得这样很简单,方便。不然还要特意针对的加入一个try。但是如果真对代码较真的话。这里应该是使用 if的。 各位要是觉得我这个办法比较好用方便可以尝试一下。当然,经常对代码record然后规范特别严格的哥们就别试了。回头扣了工资再怪我。哈哈
------------------------------分割线------------------------------

好久没有来博客写东西了。原因有好多。比如说工作上没有什么值得写的……
还有就是一两样东西可能就是一小句话的技巧比如我这里要写的。
用EL表达式取Hashmap的值。。
这个之前我都有一直在用。但是没有记录到我的工作日志里面。
前几天需要取值。忽然发现忘了怎么取了先后尝试了
//第一次尝试
${map.key}
//第二次尝试
${map(key)}
//第三次尝试
${map.get(key)}

然后去网上搜索了一下。发现各位都写的非常麻烦。其实本来是很灵活的一个东西
我发现各位都一定要配合这个循环或者那个循环的。一般都是以
循环Map,然后直接输出。可是如果我想要指定的呢?
所以给大家一个最简单的用EL获取HashMap的方式
${map[key]}
就是这么简单。map的名[]key值。至于map名不用我说。您自己设置的
KEY值的获取方式就多种多样了。看你自己喜好了。虽然是个简单的小技巧
但是我个人觉得很实用。需要的就记下吧!
------------------------------分割线------------------------------
js 获得地址栏中的参数值

http://www.test.com:8080?a=1&b=2&c=3

得到的值分别是:1,2,3

<script type="text/javascript">
   var url = document.location.href;
   getParam(url);
   function getParam(url){
    var a = url.indexOf("=");
    if(a!=-1){
     var s = url.substring(a+1);
     var b = s.indexOf("&");
     if(b!=-1){
      alert(s.substring(0,b));
      getParam(s);
     }else{
      alert(s);
     }
    }
   }
</script>
这个方法是从中文Java技术网(2)群中的 阿喀琉斯之踵 手里要过来的。
这里就不透露QQ号码了。嘿嘿。这里只一次获得值。想要更多元化的话。自己去修改~
--------------------------最后分割一次---------------------------

最后一次分割线就是描述一下最近做的事情了……
最近一到放假就闷在家里……
干什么?练琴……电吉他……
都2年多没玩了。所以啊。人都是逼出来的……
就剩下一把吉他了。。然后音箱都没有……
最近找了一个木工师傅。用多层板做了一个箱子。
然后打算自己DIY音箱呢。……
我本来想说,做一个最简单的音箱。不要带失真效果了。
直接只有扩音就好了…………这样能好点。
我偶像给我举了一个例子。我就决定带上失真效果了……
我偶像是这么说的:"买自行车附送健身器"。
最后说一句这段时间的座右铭………
如果有一天,你发现我疯了。那可能是你疯了
分享到:
评论

相关推荐

    Javascript实现和操作HashMap

    在JavaScript中,HashMap是一种数据结构,它存储键值对,并且通过键来快速查找值。虽然JavaScript原生的`Map`对象提供了类似的功能,但在某些场景下,开发者可能需要自定义HashMap来满足特定的需求,例如优化性能...

    在自定义spring aop中使用el获取拦截方法的变量值。

    标题中的“在自定义Spring AOP中使用EL获取拦截方法的变量值”指的是在Spring的面向切面编程(AOP)中,通过Expression Language(EL,表达式语言)来访问被拦截方法的局部变量值。这通常涉及到Spring的代理机制、...

    基于JavaScript的HashMap实现

    在JavaScript中,HashMap是一种常用的键值对存储结构,它提供了快速的插入、删除和查找操作。JavaScript本身并不直接支持HashMap,但我们可以利用对象(Object)的特性来模拟HashMap的实现。这篇博客“基于...

    一个基于js的HashMap

    下面我们将详细讨论如何在JavaScript中创建一个基于js的HashMap以及它的相关知识点。 首先,HashMap的核心在于其内部实现的哈希函数,它能将键转换为唯一的哈希码,使得我们可以快速定位到存储的值。在JavaScript中...

    HashMap.js

    模拟java中的HashMap类js类对象,可以与js的Array类对象配合使用

    深入理解Java之HashMap —— 03

    在深入探讨Java中的HashMap之前,我们先来了解一下HashMap的基本概念。HashMap是Java集合框架中的一种数据结构,它实现了Map接口,允许将键(Key)映射到值(Value)。HashMap通过哈希函数来快速定位键值对,提供O(1...

    js 版 java hashmap

    在描述中提到的"js版java HashMap"可能是指一个JavaScript实现的HashMap类,它模仿了Java中的HashMap数据结构,提供了更高效和灵活的操作。Java的HashMap是一个基于哈希表的Map接口实现,提供快速的插入、删除和查找...

    HashMap模块源码—— 高效随机存取数据结构 ,文本索引必备

    1、此HashMap类采用java jdk中HashMap的实现方式。2、相比网站上发布过的hashtable之类的源码:。此HashMap寻址方法是拉链法.比开放寻址法对连续内存要求更低。哈希函数用的是java中String.hashCode()算法(经实际验证...

    js 实现HashMap功能

    用js代码实现java中hashmap 的所有功能

    简单的key value hashmap

    哈希映射(HashMap)是Java编程语言中一个非常重要的数据结构,它在《简单的key value hashmap》中被提及,通常用于存储键值对(key-value pairs)。HashMap是Java集合框架的一部分,它提供了高效的查找、插入和删除...

    hashmap面试题_hashmap_

    《HashMap面试题详解》 HashMap作为Java集合框架中的重要成员,是面试中常见的知识点,尤其在数据结构与算法、并发编程以及JVM内存管理等领域,HashMap的深入理解至关重要。本篇将围绕HashMap的相关面试题,从基础...

    HashMap的数据结构

    为了解决这个问题,HashMap使用了链地址法,即在每个数组索引位置上存储一个链表,碰撞的键值对会被链接到同一个索引位置的链表上。 1. **哈希函数**:哈希函数是HashMap的核心,它的目标是将键转换为数组的索引。...

    JNI处理hashmap,string等对象的操作

    JNI在很多场景下都是必要的,比如调用操作系统本地库、加速性能关键的代码或者实现与硬件设备的直接通信。在这个主题中,我们将深入探讨如何使用JNI处理HashMap、String等对象。 首先,让我们来理解JNI的基本结构。...

    HashMap CRUD操作

    HashMap是Java编程语言中一种非常重要的数据结构,它属于Java集合框架的一部分,是基于哈希表实现的。...同时,了解并掌握HashMap的这些基本操作对于Java开发者来说是非常重要的,因为它们在各种场景下都有广泛的应用。

    asp hashmap,arraylist实现

    虽然ArrayList操作相对简单,但其查找效率不如HashMap,因为它是线性搜索,时间复杂度为O(n)。在ASP.NET中,ArrayList可能用于存储一组动态生成的数据,比如从数据库查询的结果。 描述中的链接指向了一篇博客文章,...

    hashmap使用实例

    HashMap是Java编程语言中的一种重要数据结构,它在Android开发中同样被广泛使用。HashMap属于集合框架的一部分,提供了键值对(key-value pair)的存储功能。在这个实例中,我们将深入探讨HashMap的工作原理、基本...

    hashmap 实例

    《HashMap 实例解析与关联数据结构对比》 HashMap 是 Java 中常用的一种数据结构,属于 Java.util 包下的类,它是基于哈希表实现的。在本文中,我们将深入理解 HashMap 的实例及其工作原理,并与其他数据结构如 ...

    hashMap和hashTable的区别

    ### hashMap和hashTable的区别 #### 一、简介与基本概念 `HashMap` 和 `HashTable` 都是 Java 集合框架中非常重要的数据结构,它们都实现了 `Map` 接口,用于存储键值对。尽管它们在功能上有很多相似之处,但在...

    hashmap实现原理

    哈希映射(HashMap)是Java编程语言中广泛使用的数据结构之一,主要提供键值对的存储和查找功能。HashMap的实现基于哈希表的概念,它通过计算对象的哈希码来快速定位数据,从而实现了O(1)的平均时间复杂度。在深入...

    HashMap介绍和使用

    所有的复杂数据结构都可以基于这两种基本结构构建出来,HashMap也不例外。 **1.1 数组和链表结合** HashMap内部采用数组加链表(或红黑树)的形式存储数据,这种结构称为“链表散列”。数组作为主存储结构,而链表...

Global site tag (gtag.js) - Google Analytics