- 浏览: 164845 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
zbg1983:
jumboluo 写道这是一个Ext的一个bug:http:/ ...
EXTJS4 郁闷的Loading -
caelyntang:
在二级联动加载的时候提前加载一次二级联动,不是根据一级联动的值 ...
EXTJS4 郁闷的Loading -
55558888:
将 queryMode: 'local', 改为 query ...
EXTJS4 郁闷的Loading -
jumboluo:
这是一个Ext的一个bug:http://www.sencha ...
EXTJS4 郁闷的Loading -
jumboluo:
也遇到同样的问题,也不知道怎么解决啊。
EXTJS4 郁闷的Loading
读取EXCEL文件、XML文件以及TXT文件模式。
1、Excel的读取。
public static Map<String, List<Content>> parse(String file) { Workbook book = null; Map<String, List<Content>> map = new HashMap<String, List<Content>>(); List<Content> list = null; try { book = Workbook.getWorkbook(new File(file)); int sheets = book.getNumberOfSheets(); Sheet se = null; for (int i = 0; i < sheets; i++) { se = book.getSheet(i); list = new ArrayList<Content>(); for (int j = 1; j < se.getRows(); j++) { list.add(data(se, j)); } map.put(se.getName(), list); } } catch (BiffException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { if (book != null) { book.close(); } } return map; } private static Content data(Sheet se, int row) { Cell id, name, author, time, description, content; Content contents = new Content(); id = se.getCell(0, row); name = se.getCell(1, row); author = se.getCell(2, row); time = se.getCell(3, row); description = se.getCell(4, row); content = se.getCell(5, row); contents.setId(id.getContents()); contents.setName(name.getContents()); contents.setAuthor(author.getContents()); contents.setTime(time.getContents()); contents.setDescription(description.getContents()); contents.setContent(content.getContents()); return contents; }
此处注意需要加入Excel的解析jar包:jxl.jar。
2、XML的读取
XML的样式:
<list desc="news content xml" start="1" size="1" total="1"> <item type="news"> <id>00</id> <name>文章标题</name> <author>你是谁</author> <time>2008-07-08</time> <description> 自己的描述内容 </description> <content>src/content/database/news_cbdwt.txt</content> </item> </list>
content/database/news.txt 读取文件:
public static List<Content> parse(String file) { List<Content> list = new ArrayList<Content>(); NodeList items = readFile(file, "item"); Element node = null; NodeList ids; NodeList names; NodeList authors; NodeList times; NodeList descs; NodeList contents; Content content; for (int i = 0; i < items.getLength(); i++) { content = new Content(); node = (Element) items.item(i); ids = node.getElementsByTagName("id"); if (ids.getLength() == 1) { content.setId(((Text) ((Element) ids.item(0)).getFirstChild()) .getNodeValue()); } names = node.getElementsByTagName("name"); if (names.getLength() == 1) { content.setName(((Text) ((Element) names.item(0)) .getFirstChild()).getNodeValue()); } authors = node.getElementsByTagName("author"); if (authors.getLength() == 1) { content.setAuthor(((Text) ((Element) authors.item(0)) .getFirstChild()).getNodeValue()); } times = node.getElementsByTagName("time"); if (times.getLength() == 1) { content.setTime(((Text) ((Element) times.item(0)) .getFirstChild()).getNodeValue()); } descs = node.getElementsByTagName("description"); if (descs.getLength() == 1) { content.setDescription(((Text) ((Element) descs.item(0)) .getFirstChild()).getNodeValue()); } contents = node.getElementsByTagName("content"); if (contents.getLength() == 1) { content.setContent(((Text) ((Element) contents.item(0)) .getFirstChild()).getNodeValue()); } list.add(content); } return list; } private static NodeList readFile(String file, String item) { File f = new File(file); DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = null; try { builder = factory.newDocumentBuilder(); } catch (ParserConfigurationException e) { e.printStackTrace(); } Document doc = null; try { doc = builder.parse(f); } catch (SAXException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } NodeList items = doc.getElementsByTagName(item); return items; }
3、读取TXT文件。
public static char[] file(String file) { char[] chars = null; FileReader in = null; try { in = new FileReader(new File(file)); chars = new char[length(file)]; int ch; int i = 0; while ((ch = in.read()) != -1) { chars[i] = (char) ch; i++; } } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { if (in != null) { try { in.close(); } catch (IOException e) { e.printStackTrace(); } } } return chars; }
值得注意的是,我是直接采用了FileReader,因为TXT文件直接采用GBK的编码,在进入网页时如果编码正确的话不会引起乱码。
一般来说读取bytep[]应该是最好的,可以支持多样化,但是解析的过程麻烦了一点。
有时间的话可以分析分析rar文件的解析方式。
直接流处理的问题。 有没有必要进行XML的文件流分析??似乎没必要,在目前此种环境下。
发表评论
-
EXTJS4 郁闷的Loading
2011-12-27 22:24 3353使用EXTJS4,写联动的combo控件,首次选择联动效果,可 ... -
我想,我得回到servlet中去!
2008-12-30 14:58 1040华丽的外表掩盖了太多的实质。 servlet真的很强大,重 ... -
propedit,OK!
2008-12-30 14:52 1560在eclipse下开发,建立个messages_zh_CN.p ... -
简单示例搭建框架之一
2008-12-19 13:59 2369一直自己搭建框架的意 ... -
http://www.androidcn.net/wiki/index.php/
2008-12-01 15:28 0http://www.androidcn.net/wiki/i ... -
Android竟然会出现这样的问题??
2008-12-01 14:11 1156运行android程序后,我的磁盘空间不断减少,不知道为什么? ... -
Zip压缩继续分析
2008-11-24 10:58 1167前面的一篇文章说明了压缩以及解压缩,但是对于字节流的分析表示, ... -
java中的压缩以及解压类
2008-11-22 08:40 1855在查看zip以及unzip的时候,看到了这两个类(Deflat ... -
关于zip文件的字节码处理
2008-11-21 09:39 1273昨天写了一篇关于压缩文件以及压缩文件解压问题,现在对于自己压缩 ... -
Zip以及UnZip处理
2008-11-20 11:26 1433早上看到一篇关于压缩文件的处理文章,测试之后发现解压缩unzi ... -
自己写资源串处理文件
2008-11-19 14:13 1078本文主要是模拟配置文件中的资源串文件,将最终处理结果存放于Ma ... -
自己处理公式
2008-11-18 15:03 1026问题说明: 给定一个字符串,例如: String gsstri ... -
到底谁的效率高??
2008-11-17 11:24 1138在写代码的时候,常常使用if-else显得很麻烦,对于简单的赋 ... -
代理、监听器的理解,希望指点。
2008-10-31 17:29 954首先定义一个接口: public interface IWor ... -
手机触摸屏程序开发
2008-10-24 14:15 2467使用J2ME技术实现手机触摸屏开发的方法: 首先的修改调试环 ... -
J2EE中的基础知识
2008-10-23 12:58 1092转载:用于学习 J2EE ... -
OO的五大原则
2008-10-22 16:08 956OO的五大原则 OO的五大原则是指SRP、OCP、 ... -
奇怪而又无可厚非的类加载顺序
2008-10-21 09:05 4167昨天看到这样一篇帖子 ... -
笔试题目(摘)
2008-10-15 12:34 01、计算机系统中采用补 ... -
think in java回顾整理之RTTI
2008-10-10 15:08 2708运行期类型鉴定(RTTI)的概念初看非常简单——手上只有基础类 ...
相关推荐
CAA File库,全称为Common Automation Architecture File Access Library,是CODESYS提供的用于文件读写的标准库之一。与SysFile库不同的是,CAA File库提供了更为高级的接口,使得开发者能够更方便地进行文件处理...
总结来说,Android文件读写权限管理是一个复杂的过程,开发者需要在`AndroidManifest.xml`中声明权限,并在Android 6.0及以上版本中处理运行时权限请求。随着Android版本的更新,如Android Q,文件访问方式也会相应...
总结,C++文件读写涉及的主要知识点包括:文件流的概念,文件的打开与关闭,数据的读写,文件定位,错误处理,以及打开模式等。通过这些知识点,开发者可以实现对文件的高效、灵活操作。在实际项目中,根据需求选择...
总结,CSV文件读写在VS2015的MFC环境中主要涉及文件操作、字符串处理和用户界面交互。通过合理的编程设计,可以实现高效且易维护的CSV数据管理功能。在实际项目中,还需要考虑数据验证、错误处理、用户体验等多个...
【C++ 文件读写操作详解】 在C++编程中,文件操作是不可或缺的一部分,无论是存储数据、记录日志还是与其他程序交互,都需要进行文件的读写。C++Builder提供了多种方式进行文件操作,包括基于C的文件操作、C++特有...
总结,Qt的`QSettings`类为`.ini`文件的读写提供了便利。通过正确处理编码问题,我们可以安全地在`.ini`文件中存储和读取中文字符串,实现跨平台的配置管理。在实际项目中,可以根据需求灵活运用这些功能,以实现...
总结,VC++中实现文件读写有多种方法,包括Linux的文件句柄方式、MFC的CFile类以及标准库的文件指针方式。每种方法都有其适用场景和优缺点,开发者应根据项目需求选择合适的方式。在处理二进制文件时,确保采用正确...
本项目是对XML文件读写操作的综合总结,旨在提供一个实用的XML处理工具集。 首先,我们要关注的是“封装好的XML文件的读和写工程”。在编程中,通常我们会创建类或函数库来简化XML文件的操作。读取XML文件时,我们...
总结来说,这个“INI文件读写类”是用VC6.0开发的,用于处理配置文件的读写操作,支持多种数据类型和UNICODE编码,提供了一种高效、方便的方式来管理和维护应用程序的配置信息。它包含的源代码和项目文件可以帮助...
总结来说,Android的配置文件读写主要涉及SharedPreferences和File操作。对于简单的偏好设置,SharedPreferences提供了方便快捷的方法;而对于复杂数据结构或自定义格式,直接操作文件(如XML或JSON)会更有灵活性。...
### Delphi 文件操作全攻略:深入文件读写与处理的艺术 #### 一、Delphi简介与特点 Delphi 是一种高性能的集成开发环境 (IDE) 和面向对象的编程语言,以其出色的开发能力和广泛的适用性而著称。它最初由 Borland ...
总结来说,实现跨平台的Linux配置文件读写功能,你需要掌握C++的文件流操作,理解配置文件的结构,以及如何处理跨平台兼容性问题。通过以上步骤,你可以创建一个简单的C++程序,实现类似Windows的配置文件读写功能,...
三、文件读写操作 1. **创建文件**:首先,我们需要创建一个`File`对象表示文件路径,然后使用`createNewFile()`方法创建新文件。例如: ```java File file = new File(Environment.getExternalStorageDirectory...
总结,DSP中的文件读写操作是系统开发中不可或缺的一部分。通过熟悉和掌握CCS 3.3中的文件I/O函数和可能的DSP库函数,开发者能够有效地实现日志记录、数据存储与加载等功能,从而提升项目的稳定性和可维护性。
在编程领域,C#是一种广泛使用的面向对象的编程语言,尤其在Windows应用程序开发和游戏开发中扮演着...在实际项目中,根据具体需求选择合适的读写方法至关重要,同时,测试文件的使用能帮助确保代码的健壮性和准确性。
### 深潜数据海洋:Java文件读写全面解析与实战指南 #### 第一章:走进文件流的世界 —— 字节与字符的交响 在Java中,文件读写是通过流来实现的,流是一种从源头到目的地的数据传输通道。Java支持两种基本类型的...
提供的两个`.mht`文件,`[ 永远的UNIX C源码通用C语言函数:文本文件有关操作,_CFG-_INI类配置文件读写 ].mht` 和 `[ 永远的UNIX C源码通用C语言函数:文本文件有关操作,_CFG-_INI类配置文件读写(对应_C的头文件 )...
总结,通过单片机配合CH375芯片实现U盘文件读写是一项综合性的任务,涵盖了硬件接口设计、文件系统理解和软件编程等多个方面。理解并掌握这些知识点,可以让我们在实际项目中灵活运用,实现高效稳定的单片机与U盘...
总结来说,`CFile`类是MFC中进行文件操作的一个重要工具,它简化了文件读写的过程。通过熟练掌握`CFile`的使用,开发者可以更高效地处理文件相关的任务,实现更健壮的程序。在实际编程中,应结合错误处理和适当的...