在一些项目中大量的数据经常需要从文件中读取,例如xml文件,txt文件,csv文件

1.读取本地的xml文件,需要注意对应的路径

//读取xml文件,xmlFile为读取文件的路径
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document document = builder.parse(xmlFile); NodeList nodeList = document.getElementsByTagName(thisTag);//指定标签(thisTag)的节点集合
for(itn i =0;i<nodeList.getLength();i++){
// 循环获取每个节点信息
Node node = nodeList.item(i);
NamedNodeMap attributes = node.getAttributes();
for (int j = 0; j < attributes.getLength(); j++) {
Node attribute = attributes.item(j);
System.out.println(attribute.getNodeName() + ":"
+ attribute.getNodeValue()); } }

注意:getElementsByTagName()方法只是属于document 与Element 的方法

所以,当针对某个Node 查找对应的节点时,需要先强制转换为Element

Element nodeToElement =(Element) node;
NodeList osNodeList = nodeToElement.getElementsByTagName(thisTag);//thisTag为指定标签

2.读取txt文件

一般的数据存储都是键值对的方式在文件中记录,开发人员多是根据已知的键,从文件中取得对应的值。

例如Config.txt 中内容为:

name=jack

sex=boy

要从java程序中读取该文件的内容

File config_file = new File("./Config") ; //此处使用相对路径
String config_file_fullpath = config_file.getAbsoluteFile().toString() ;
readConfig config = new readConfig (config_file_fullpath) ;
String name = config.get("name");//name为jack
//对获取的数据进行处理
//...

3.读取.csv文件

csv文件一般为表格,是多行多列的数据,列对应相应不同的属性,java实现逐行读取每列单元格的值。

需要用到jar包(javacsv.jar)

CsvReader csv_reader = null;
char delimiter = ',';
try {
csv_reader = new CsvReader(paramInfoFile, delimiter);//paramInfoFile为读取的csv文件路径
csv_reader.setEscapeMode(CsvReader.ESCAPE_MODE_DOUBLED);
csv_reader.readHeaders();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
while (csv_reader.readRecord()) {
String str = csv_reader.get(0);
if(str.startsWith("#")){
continue;
}
String paramType = csv_reader.get(0);//该行的第一列数据
String class1 = csv_reader.get(1);//该行的第二列数据,以此类推
String variable = csv_reader.get(2);
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

java实现读取文件内容(不同类型)的更多相关文章

  1. Java 实例 - 读取文件内容

    原文作者:菜鸟教程 原文链接:Java 实例 - 读取文件内容(建议前往原文以获得最佳体验) 按行读取文本文件 import java.io.*; public class Main { public ...

  2. Java方法读取文件内容

    一.针对文件内容的读取,在平时的工作中想必是避免不了的操作,现在我将自己如何用java方法读取文件中内容总结如下:废话不多说,直接上代码: 1 public static void main(Stri ...

  3. java读取文件内容常见几种方式

    ①随机读取文件内容 ②以行为单位读取文件,常用于读面向行的格式化文件 ③以字符为单位读取文件,常用于读文本,数字等类型的文件 ④以字节为单位读取文件,常用于读二进制文件,如图片.声音.影像等文件 pa ...

  4. Java中使用BufferedReader的readLine()方法和read()方法来读取文件内容

    目标:读文件 编程时,有很多时候需要读取本地文件,下面介绍一下读取方式: 读单行文件 package com; import java.io.*; import java.util.ArrayList ...

  5. Java实现一行一行读取文件内容(进行编码处理)

    // 读取文件内容public String readFile(){ String path = ""; File file = new File(path); StringBui ...

  6. java中读取文件以及向文件中追加数据的总结

    package gys; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; imp ...

  7. Java实现读取文件

    目录 Java实现读取文件 1.按字节读取文件内容 使用场景 2.按字符读取文件内容 使用场景 3.按行读取文件内容 使用场景 4.随机读取文件内容 使用场景 Java实现读取文件 1.按字节读取文件 ...

  8. java实现读取文件大全

    1.按字节读取文件内容 2.按字符读取文件内容 3.按行读取文件内容 4.随机读取文件内容 public class ReadFromFile { /** * 以字节为单位读取文件,常用于读二进制文件 ...

  9. android按行读取文件内容的几个方法

    一.简单版 import java.io.FileInputStream; void readFileOnLine(){ String strFileName = "Filename.txt ...

随机推荐

  1. spark-shell --conf

    spark-shell --conf -h Usage: ./bin/spark-shell [options] Options: --master MASTER_URL spark://host:p ...

  2. 2016.04.28,英语,《Vocabulary Builder》Unit 20

    nom, comes from the Latin word for 'name'. nominee is 'named', [ˌnɑːmɪ'niː] n. 被提名的人, 名义人. binomial ...

  3. [ZZ] HDR the bungie way

    http://blog.csdn.net/toughbro/article/details/6755394 bufferencoding游戏float算法 bungie 06年,gamefest上的p ...

  4. 【ZZ】 移位贴图 Displacement Mapping

    http://blog.csdn.net/huazai434/article/details/5650629 说明:该技术需要VS3.0的支持!!! 一,移位贴图类似于地形渲染.不过由于移位纹理可以做 ...

  5. ptmalloc2源码解析初探

    本文是徽沪一郞在学习华庭(庄明强)所撰<glibc内存管理-ptmalloc2源代码分析>的阅读笔记.本笔记以slides的方式加以呈现.文件采用latex+tikz编辑而成,如果对lat ...

  6. 每天php函数 - explode() 使用一个字符串分割另一个字符串

    array explode ( string $delimiter , string $string [, int $limit ] ) 此函数返回由字符串组成的数组,每个元素都是 string的一个 ...

  7. MyBatis之传入参数

    在MyBatis的select.insert.update.delete这些元素中都提到了parameterType这个属性.MyBatis现在可以使用的parameterType有基本数据类型和Ja ...

  8. UIButton 长按点击 背景改变效果

    1.添加按钮的点击事件和按下事件 [btn setImage:[UIImage imageNamed:@"NorMal.png"] forState:UIControlStateN ...

  9. commandname+commandargument

    (一) CommandName:其实可以设置成一种动作,比如Select,Update,Delete,等操作.就是说CommandName是确定他到底引发的是哪一事件,如果CommandName的名字 ...

  10. MySQL常用SQL/函数汇总(持续更新)

    自动生成ROWNUN SELECT (@rowNO := @rowNo+1) AS rowno,a.uuid FROM (SELECT * FROM h_log_proc) a,(SELECT @ro ...