当前位置:首页 » 编程语言 » java解析java文件

java解析java文件

发布时间: 2023-07-10 03:37:13

A. java读入文件解析输出Map

你这Map<String, Map<String, Float>>没看明白,map里面还有个map?

一层map示例如下,两层map请说明白

importjava.io.*;
importjava.util.HashMap;
importjava.util.Map;

publicclassTest
{
publicstaticvoidmain(String[]args)throwsException
{
Map<String,Float>map=newHashMap<String,Float>();

//如果你文件里没有中文,那个GBK编码就无所谓,否则要按实际编码来定
BufferedReaderbr=
newBufferedReader(newInputStreamReader(newFileInputStream(newFile("d:/test.txt")),"GBK"));
Stringstr;
while((str=br.readLine())!=null)
{
//如果分隔符不是空格,改成对应的分隔符,比如tab即" "
String[]strs=str.split("");
if(strs.length!=3)
{
System.out.println("格式错误:"+str);
}

try
{
map.put(strs[1],Float.parseFloat(strs[2]));
}
catch(NumberFormatExceptione)
{
e.printStackTrace();
}
}
}

}

B. java中怎么解析这样的文件

键值的话直接获取节点值, 你补充的那种形式要获取属性名和属性值即可。
用dom4j处理,要下载dom4j.jar包build path到项目里,然后你的xml内容要改一下,里面用双引号:
<?xml version="1.0" encoding="UTF-8"?>
<msg>
<head>
<transcode>9999</transcode>
<time>20090305102259</time>
<version> 1.0 </version>
</head>
<body>
<msg errorCode="9001" msg="系统异常" />
</body>
</msg>

代码

import java.io.File;
import java.util.Iterator;
import java.util.List;
import org.dom4j.Attribute;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
public class GetXMLMessage {
public static void main(String[] args) throws DocumentException
{
//读取XML文件,我直接放根目录下
File file = new File("your.xml");
Document doc = new SAXReader().read(file);
//获取根节点:即msg节点
Element element =doc.getRootElement();
//遍历子节点,也即<head>和<body>。
Iterator it = element.elementIterator();
while(it.hasNext())
{
Element subelement = (Element)it.next();
System.out.println("父节点"+subelement.getName());
//遍历head下面的transcode time cerson 和body下面的msg
Iterator subit = subelement.elementIterator();
while(subit.hasNext())
{
Element subsubelement =(Element) subit.next();
System.out.print("子节点"+subsubelement.getName()+" ");
System.out.println(subsubelement.getStringValue());
//如果有属性,则输出属性
List attributelist = subsubelement.attributes();
for(Object i:attributelist)
{
Attribute attribute =(Attribute)i;
System.out.print("属性"+attribute.getName()+" ");
System.out.println(attribute.getStringValue());
}

}
}

}

}

最后输出:

父节点head
子节点transcode 9999
子节点time 20090305102259
子节点version 1.0
父节点body
子节点msg
属性errorCode 9001
属性msg 系统异常

C. java解析文件,按照分隔符=切开,存入数组中。

import java.util.*;
import java.io.*;

public class FenGe
{
public static void main(String[] args) throws Exception
{
//f为你要解析的文件的路径
String f="f.txt",line=null;
ArrayList<String> al=new ArrayList<String>();
BufferedReader br=new BufferedReader(new FileReader(f));
String[] arr=null;
while(null!=(line=br.readLine()))
{
al.addAll(Arrays.asList(line.split("=")));
}
br.close();
arr=new String[al.size()];
al.toArray(arr);
for(String e : arr)
{
System.out.println(e);
}
}
}

D. java怎么解析指定的文件,并保存到数据库

如果txt,xls,按行读,用特定的字符作分隔符来拆分,读一行处理一行,直到结束,导入都是这样的.
给个txt的案例给你看看:
File logFile = new java.io.File("d://PartInputLog.txt"); //
ins = form.getFile().getInputStream(); //读取数据流
workBook = Workbook.getWorkbook(ins); //打开工作簿
sheet = workBook.getSheet(0); //打开SHEET
int rowSize = sheet.getRows(); //获取总行数
for(int i=0;i<rowSize;i++){
if(sheet.getCell(0, i).getContents().trim().equals(""))break;

String gysNo = sheet.getCell(0, i).getContents().trim();//获取第i行第1列的具体数据
String bpNo = sheet.getCell(1, i).getContents().trim(); //获取第i行第2列的具体数据
String numStr = sheet.getCell(2, i).getContents().trim(); //获取第i行第3列的具体数据
.................................................


//数据都可以读取到剩下的就在循环中插入了

热点内容
主播网站源码 发布:2025-05-15 02:50:56 浏览:167
中文编程语言有哪些 发布:2025-05-15 02:48:59 浏览:535
配置中心应急流程有哪些 发布:2025-05-15 02:37:31 浏览:669
php宏定义 发布:2025-05-15 02:32:54 浏览:270
咸鱼支付密码哪里改 发布:2025-05-15 02:32:53 浏览:520
存储机箱 发布:2025-05-15 02:31:31 浏览:836
编程很累吗 发布:2025-05-15 02:29:25 浏览:552
疫情期间访问国外网络 发布:2025-05-15 02:24:24 浏览:247
我的世界网易版游戏服务器 发布:2025-05-15 02:23:46 浏览:221
全球编程网站 发布:2025-05-15 02:22:55 浏览:334