當前位置:首頁 » 編程語言 » 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列的具體數據
.................................................


//數據都可以讀取到剩下的就在循環中插入了

熱點內容
安卓手機如何有蘋果的emoji 發布:2025-02-09 02:11:02 瀏覽:807
編譯原理已知語言求文法習題 發布:2025-02-09 02:05:15 瀏覽:131
中國首個具有世界影響力的編譯器 發布:2025-02-09 01:56:21 瀏覽:719
tomcat上傳超時 發布:2025-02-09 01:41:42 瀏覽:483
androidactivity豎屏 發布:2025-02-09 01:41:40 瀏覽:377
家庭配置怎麼合理 發布:2025-02-09 01:36:14 瀏覽:807
頭條軍事源碼 發布:2025-02-09 01:31:53 瀏覽:997
androidintent視頻 發布:2025-02-09 01:31:43 瀏覽:858
歐姆龍plc密碼如何設置 發布:2025-02-09 01:24:31 瀏覽:687
php支持jpeg 發布:2025-02-09 01:24:22 瀏覽:803