- 浏览: 226748 次
- 性别:
- 来自: 汨罗
文章分类
最新评论
-
tssinbc:
jpos-1.4.4.zip 这个包内容这么多,怎么使用啊,
JPos 学习 -
ruyi0127:
很棒, 棒我忙了
JQuery 弹出层,始终显示在屏幕正中间 -
csdxzsky:
好分享,谢谢
JPos 学习 -
lijunwyf41:
写的不错,期待更多的示例
JPos 学习 -
在世界的中心呼喚愛:
spp_1987 写道这个遮挡层不错 , 但是为什么取消这个遮 ...
JQuery 遮罩层
不多说,直接上代码
import java.io.BufferedInputStream; import java.io.BufferedReader; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.FileWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.UnsupportedEncodingException; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.regex.Pattern; /** * 具有按文件顺序加载功能。 * * @author shooter * */ public class OrderProperties { private static final long serialVersionUID = 8380510196573353417L; private List<String> keys = new ArrayList<String>(); // 键,通过此List实现属性文件顺序读取 private Map<String, String> valueMap = new HashMap<String, String>(); // 存储属性文件值 /** * 通过键获取值 * * @param key * @return */ public String getProperty(String key) { return valueMap.get(key); } // for example, java regex public List<String> getKeys(String keyPattern) { Pattern pat = Pattern.compile(keyPattern); List<String> kl = new ArrayList<String>(); for (String k : keys) { if (pat.matcher(k).matches()) { kl.add(k); } } return kl; } /** * 添加元素 * * @param fileName * @param line * @throws IOException */ public synchronized void put(String fileName, String line) throws IOException { // 打开一个写文件器,构造函数中的第二个参数true表示以追加形式写文件 FileWriter writer = new FileWriter(fileName, true); writer.write("\n" + line); writer.flush(); writer.close(); } /** * 修改元素 * * @param fileName * @param key * @param value * @throws IOException */ public synchronized void update(String fileName, String[] key, String[] value) throws IOException { try { BufferedInputStream bin = new BufferedInputStream( new FileInputStream(fileName)); byte[] buff = new byte[(int) bin.available()]; bin.read(buff); FileOutputStream fout = new FileOutputStream(fileName); String str = new String(buff); String[] lines = str.split("\n"); int j = 0; for (String line : lines) { for (int i = 0; i < key.length; i++) { if (key[i].equals(line.split("=")[0])) { line = value[i]; break; } } String newLine = "\n"; if (j == (lines.length - 1)) { newLine = ""; } fout.write((line + newLine).getBytes()); j++; } fout.flush(); fout.close(); bin.close(); } catch (IOException e) { } } /** * 加载,获得所有 * * @param fileName * @throws IOException */ public synchronized void load(String fileName) throws IOException { BufferedReader bread = new BufferedReader(new InputStreamReader( new FileInputStream(fileName))); List<String> lines = new ArrayList<String>(); String line = null; while ((line = bread.readLine()) != null) { line = line.trim(); if (line.equals("")) continue; if (line.endsWith("\\")) line = line.substring(0, line.length() - 1); // compatible to // properties // file: end \ if (line.indexOf('=') != -1) { lines.add(line); } else { String s = lines.get(lines.size() - 1); s += line; lines.set(lines.size() - 1, s); } } // parse key-value for (String l : lines) { String k = l.substring(0, l.indexOf("=")).trim(); String v = l.substring(l.indexOf("=") + 1).trim(); keys.add(k); valueMap.put(k, v); } bread.close(); } /** * 获得所有key * * @return */ public List<String> getKeys() { return keys; } /** * 中文乱码时用 * * @param dataStr * @return */ public static String Unicode2GBK(String dataStr) { int index = 0; StringBuffer buffer = new StringBuffer(); while (index < dataStr.length()) { if (!"\\u".equals(dataStr.substring(index, index + 2))) { buffer.append(dataStr.charAt(index)); index++; continue; } String charStr = ""; charStr = dataStr.substring(index + 2, index + 6); char letter = (char) Integer.parseInt(charStr, 16); try { buffer.append(new String((letter + "").getBytes("gbk"), "gbk")); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } index += 6; } return buffer.toString(); } @Override public String toString() { return valueMap.toString(); } public static void main(String[] args) { OrderProperties prop = new OrderProperties();// 属性集合 String path = "D:/Test/webapp/WEB-INF/conf/filterMethodArgs.properties"; // 1.加载属性文件 try { prop.load(path); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } //2.添加元素 prop.put(path, "我是值"); // 3.修改元素 prop.update(path, new String[] { "我是键" }, new String[] { "我是值" }); } }
发表评论
-
Http协议的Delete和Put方法是做什么的?怎么用?
2012-09-21 09:51 1468原文出自:http://blog.csdn.net/kt ... -
利用Axis编写简单的WebService
2012-08-29 16:28 1759原文出自:http://nopainnogain.iteye. ... -
java cookie跨域操作
2012-08-13 10:14 1303原文出自:http://hi.baidu.com/feixia ... -
采用jacob读取并在网页中显示ppt、word、excel .
2012-05-02 16:48 1166原文出自:http://blog.csdn.net/chrys ... -
伪造 referer
2012-05-02 14:53 1248HttpURLConnection conn = (HttpU ... -
深入理解HTTP协议(转) .
2012-04-28 17:30 941原文出自:http://blog.csdn.net/lxzo1 ... -
SpringMVC3
2012-04-23 13:41 934原文出自:http://blog.csdn.net/sunit ... -
400 500 503错误的配置
2012-04-20 15:23 1649最近工作中,社区为了提高用户感受,对三种异常(404/500/ ... -
Spring JDBCTemplate
2012-04-17 17:34 904原文出自:http://www.blogjava.net/wy ... -
用Spring让JavaMail支持简化邮件发送
2012-04-16 17:36 982原文出自:http://www.examw.com/java/ ... -
Cache-control使用:header('Cache-control:private')
2012-04-16 10:46 2671Cache-control使用:header('Cach ... -
JAVA远程调用
2012-04-13 17:10 930原文出自:http://www.iteye.com/topic ... -
清除 Struts1.x的 ActionFrom
2012-03-15 11:26 1103一个updateAction 一个addAction ... -
JavaServerWrapper做成服务
2011-12-06 17:14 1124JavaServerWrapper出现的原因: ... -
2个Integer作比较时,需要注意的地方
2011-03-09 17:17 1105今天受打击了,一同事问了我一个问题,,,我当场就肯定的说:答案 ... -
浅谈内部类与静态内部类的应用
2011-03-03 18:00 1828起因:我在看LinkedList源码的时候,发现他用的辅助类是 ... -
ArrayList
2011-02-15 14:19 1374ArrayList学习心得: 看完ArrayList后 ...
相关推荐
在这个场景中,我们需要使用到“打开文件”、“读取文件属性”等函数,特别是“读取文件属性”中的“获取文件修改日期/时间”功能,来获取每个文件的最后修改时间戳。 2. 文件夹遍历:使用“列出文件或目录”函数,...
读取`.ply`文件时,你需要逐行解析头信息,获取文件中包含的元素和属性信息。C++中,可以使用标准输入流`std::ifstream`打开文件,并通过`std::getline`函数逐行读取。然后使用字符串处理函数如`std::istringstream`...
然后按照字段顺序读取每个字段的数据。 ```csharp for (int i = 0; i ; i++) { byte deleteFlag = reader.ReadByte(); if (deleteFlag != 255) { foreach (var field in fields) // fields是之前解析出的字段...
确保IDE(如IntelliJ IDEA或Eclipse)设置文件编码为UTF-8,同时在读取Properties文件时,通过`InputStreamReader`指定正确的字符集,例如`UTF-8`,避免乱码出现。 例如,以下是一个简单的示例,演示如何读取包含...
这可能出于各种原因,比如恢复误删文件的原始时间戳,或者按照特定顺序整理文件。"文件时间修改器"就是这样一个工具,它能够帮助用户便捷地修改文件的这些时间属性。 创建时间、修改时间和访问时间是文件的三个主要...
在实际应用中,Apache POI 的功能不仅限于简单的读写操作,还支持复杂的格式转换、样式调整和模板填充等功能,是 Java 开发者处理 Word 文件的强大工具。然而,需要注意的是,由于 `.doc` 文件格式的复杂性,处理...
配置文件加载顺序 配置文件的加载遵循以下优先级(从高到低): 1. 命令行参数(`--key=value`) 2. `spring.config.location`指定的文件 3. `@SpringBootTest`注解中的`value`属性 4. 环境变量 5. 系统属性(`...
这种文件通常与`.dbf`文件一起使用,`.dbf`文件存储了与几何数据相关的属性信息。在本篇中,我们将深入探讨如何读取和写入`SHP`文件,包括使用库(lib版)和自编码实现(代码版)的方式。 ### 1. 使用库进行SHP文件...
它能够以指定的编码读取字符串,并且可以处理大端或小端字节顺序的系统。在我们的场景中,我们使用`BinaryReader`来逐个读取每个BIN文件的字节。 以下是实现这个功能的基本步骤: 1. **打开文件**:使用`...
1. **读取文件头**:解析文件头信息,确定文件的字节顺序。 2. **读取IFD**:根据IFD的偏移量读取IFD中的条目,获取图像的基本属性和其他元数据。 3. **解析GeoTag**:找到并解析GeoTag中的地理信息。 4. **读取图像...
这有助于跟踪文件的使用情况,但频繁的访问可能会影响文件的显示顺序,如在某些文件管理器中。 3. **最后修改时间**:这个时间戳反映了文件内容最后一次被修改的时间。对于版本控制和协同编辑的文档来说,这是一个...
3. **struts.properties**:这是一个属性文件,通常位于项目的类路径根目录下,用于配置全局属性,比如常量定义、错误页面等。 4. **struts.xml**:这是用户自定义的主配置文件,用于定义Action、结果类型、拦截器...
FSO 提供了多种方法和属性来处理文件和目录,如创建、删除、复制文件和文件夹等。 #### 关键方法与属性: - **GetFolder(path)**:返回指定路径的文件夹对象。 - **files**:文件夹对象的一个属性,返回该文件夹下...
例如,你可以创建一个Layer类来表示DXF文件中的层,其中包含颜色、线型等属性,以及一个Entity类作为基类,然后为每种几何实体创建子类(如Line、Circle、Arc等)。 为了进一步提高代码的可维护性和效率,可以考虑...
- 配置文件的加载顺序为:`application.properties`/`application.yml` > `{profile}-application.properties`/`{profile}-application.yml`。 4. **使用@ConfigurationProperties绑定配置** - Spring Boot提供了...
在IT领域,照片文件的时间属性修改是一个常见的需求,特别是在整理照片库、保护隐私或调整拍摄顺序时。这个过程涉及到文件的元数据,尤其是创建时间、修改时间和访问时间这三种主要的时间戳。 创建时间是文件首次被...
顺序有序文件是记录按其主关键字有序的顺序文件,而顺序无序文件是记录未按其主关键字有序排列的顺序文件。 顺序文件的处理方式包括批处理和顺序查找法。顺序查找法即顺序扫描文件,按记录的主关键字逐个查找。顺序...
- **二进制文件(无格式文件)**:同样支持顺序读取和直接读取。顺序读取会在记录前后添加额外的字节以表示记录长度;直接读取对文件大小没有限制,通常用于较大的文件。 - **流文件**:非常便捷且功能强大,通常...
本主题关注的是如何使用C库来读取Microsoft Excel 2007及更高版本的.xlsx文件,这些文件是基于Open XML标准的。在不依赖于微软提供的库或组件的情况下,我们可以借助开源库libxml2来实现这一目标。 首先,xlsx文件...
DXF文件由一系列的记录组成,这些记录按照特定的顺序排列,包括头信息、层定义、线型定义、实体数据等。源码将需要解析这些记录来提取图形信息。 2. **VC++编程环境**: VC++是Microsoft开发的一个集成开发环境...