




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第java讀取文件內容,解析Json格式數據方式目錄java讀取文件內容,解析Json格式數據一、讀取txt文件內容(Json格式數據)二、解析處理Json格式數據三、結果存入數據庫四、測試java讀取txt文件中的json數據,進行導出以下代碼可直接運行
java讀取文件內容,解析Json格式數據
一、讀取txt文件內容(Json格式數據)
publicstaticStringreader(StringfilePath){
try{
Filefile=newFile(filePath);
if(file.isFile()file.exists()){
InputStreamReaderread=newInputStreamReader(newFileInputStream(file),"UTF-8");
BufferedReaderbufferedReader=newBufferedReader(read);
StringlineTxt=bufferedReader.readLine();
while(lineTxt!=null){
returnlineTxt;
}catch(UnsupportedEncodingException|FileNotFoundExceptione){
System.out.println("Cannotfindthefilespecified!");
e.printStackTrace();
}catch(IOExceptione){
System.out.println("Errorreadingfilecontent!");
e.printStackTrace();
returnnull;
}
二、解析處理Json格式數據
privatestaticvoidprocess(StringtxtStr){
JSONObjectjson=JSONObject.fromObject(txtStr);
JSONArraydatas=json.getJSONObject("data").getJSONArray("rows");
ListMapString,Objectlist=newArrayList();
for(inti=0;idatas.length();i++){
MapString,Objectmap=newHashMap();
JSONObjectobj=datas.getJSONObject(i).getJSONObject("cells");
Stringname=obj.getString("weibo_name");
Stringcode=obj.getString("weibo_id");
Stringurl=BASE_URL+obj.getString("url");
map.put("name",name);
map.put("code",code);
map.put("url",url);
list.add(map);
if(!list.isEmpty()){
insert(list);
三、結果存入數據庫
privatestaticvoidinsert(ListMapString,Objectlist){
for(MapString,Objectmap:list){
//遍歷數據,寫存儲方法
}
四、測試
publicstaticvoidmain(String[]args){
StringfilePath="E:\\wugang\\data\\weiboyi\\wechat.txt";
StringtxtStr=reader(filePath);
if(txtStr!=null){
process(txtStr);
}else{
System.out.println("Readthecontentisempty!");
System.out.println("---end---");
java讀取txt文件中的json數據,進行導出
txt文件中的內容如下
以下代碼可直接運行
packagecom.hwt.count.test;
importjava.io.BufferedReader;
importjava.io.File;
importjava.io.FileInputStream;
importjava.io.FileOutputStream;
importjava.io.InputStreamReader;
importjava.util.ArrayList;
importjava.util.List;
importorg.apache.poi.hssf.usermodel.HSSFCell;
importorg.apache.poi.hssf.usermodel.HSSFCellStyle;
importorg.apache.poi.hssf.usermodel.HSSFFont;
importorg.apache.poi.hssf.usermodel.HSSFRow;
importorg.apache.poi.hssf.usermodel.HSSFSheet;
importorg.apache.poi.hssf.usermodel.HSSFWorkbook;
importorg.apache.poi.hssf.util.CellRangeAddress;
importorg.apache.poi.hssf.util.HSSFColor;
importnet.sf.json.JSONObject;
publicclassTestaa{
publicstaticvoidmain(String[]args){
try{
Stringpath="C:/Users/dell/Desktop/test.txt";
Filefile=newFile(path);
InputStreamReaderisr=newInputStreamReader(newFileInputStream(file),"GBK");
BufferedReaderbr=newBufferedReader(isr);
Stringcontent=br.readLine();
br.close();
isr.close();
content=content.substring(2,content.length()-2);
content=content.replace("},{",";");
String[]arrContent=content.split(";");
//設置列頭名稱和表體數據
String[]rowsName=newString[]{"code_type","code","name"};
ListObject[]dataList=newArrayListObject[]
for(Stringarrc:arrContent){
JSONObjectjsonObj=JSONObject.fromObject("{"+arrc+"}");
Stringcode=jsonObj.getString("code");
Stringname=jsonObj.getString("name");
Object[]obj=newObject[rowsName.length];
obj[0]="TYPE";
obj[1]=code;
obj[2]=name;
dataList.add(obj);
//設置列頭名稱和表體數據
HSSFWorkbookworkbook=setWorkBookDate(dataList,rowsName);
try{
//將workbook對象輸出到文件test.xls
FileOutputStreamfos=newFileOutputStream("C:/Users/dell/Desktop/test.xls");
workbook.write(fos);
fos.flush();//緩沖
fos.close();//關閉流
}catch(Exceptione1){
e1.printStackTrace();
}catch(Exceptione){
e.printStackTrace();
privatestaticHSSFWorkbooksetWorkBookDate(ListObject[]dataList,String[]rowsName){
//創建工作簿對象
HSSFWorkbookworkbook=newHSSFWorkbook();
//創建工作表,設置當前頁名稱
HSSFSheetsheet=workbook.createSheet("測試");
//設置默認行高
sheet.setDefaultRowHeight((short)350);
//合并表頭表尾的單元格
/*sheet.addMergedRegion(newCellRangeAddress(0,2,0,3));
sheet.addMergedRegion(newCellRangeAddress(3,3,0,3));
//凍結行
workbook.getSheetAt(0).createFreezePane(0,4);
RegionUtil.setBorderBottom(1,newCellRangeAddress(3,3,0,3),workbook.getSheetAt(0),workbook);//設置邊框
*///獲取表頭樣式對象
//獲取表體樣式對象
HSSFCellStylestyle=getCommonStyle(workbook);
//定義所需列數
intcolumnNum=rowsName.length;
//創建列頭
HSSFRowrowHead=sheet.createRow(0);
for(intn=0;ncolumnNum;n++){
HSSFCellcellRow=rowHead.createCell(n,HSSFCell.CELL_TYPE_STRING);//創建列頭對應個數的單元格
cellRow.setCellValue(rowsName[n]);//設置列頭單元格的值
cellRow.setCellStyle(style);//設置列頭單元格樣式
//將查詢出的數據設置到sheet對應的單元格中
for(inti=0;idataList.size();i++){
Object[]obj=newObject[dataList.get(i).length];
obj[0]=dataList.get(i)[0];
obj[1]=dataList.get(i)[1];
obj[2]=dataList.get(i)[2];
HSSFRowrow=sheet.createRow(i+1);//創建所需的行數
for(intj=0;jobj.length;j++){
HSSFCellcell=row.createCell(j,HSSFCell.CELL_TYPE_STRING);//設置單元格的數據類型
if(!"".equals(obj[j])obj[j]!=null){
cell.setCellValue(obj[j].toString());//設置單元格的值
}else{
cell.setCellValue("");//設置單元格的值為空字符串
cell.setCellStyle(style);//設置單元格樣式
//讓列寬隨著導出的列長自動適應
for(intcolNum=0;colNumcolumnNum;colNum++){
intcolumnWidth=sheet.getColumnWidth(colNum)/256;
for(introwNum=0;rowNumsheet.getLastRowNum();rowNum++){
HSSFRowcurrentRow;
//當前行未被使用過
if(sheet.getRow(rowNum)==null){
currentRow=sheet.createRow(rowNum);
}else{
currentRow=sheet.getRow(rowNum);
if(currentRow.getCell(colNum)!=null){
HSSFCellcurrentCell=currentRow.getCell(colNum);
if(currentCell!=null!"".equals(currentCell)){
if(currentCell.getCellType()==HSSFCell.CELL_TYPE_STRING){
intlength=currentCell.getStringCellValue().getBytes().length;
if(columnWidthlength){
columnWidth=length;
if(colNum==0){
//設置表體第一列的寬度
sheet.setColumnWidth(colNum,(columnWidth+4)*400);
}else{
//設置表體其他列的寬度
sheet.setColumnWidth(colNum,(columnWidth+4)*400);
returnworkbook;
publicstaticHSSFCellStylegetCommonStyle(HSSFWorkbookworkbook){
//設置字體
HSSFFontfont=workbook.createFont();
//設置字體大小
font.setFontHeightInPoints((short)11);
//字體加粗
//font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
//設置字體名字
font.setFontName("CourierNew");
//設置樣式;
HSSFCellStylestyle=workbook.createCellStyle();
//設置底邊框;
style.setBorderBottom(HSSFCellStyle.BORDER_THIN);
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 電梯困人培訓方案
- 初一寒假安全教育主題班會
- 護士入崗前教育
- 讀單詞游戲設計
- 頤和園說課課件
- 體育運動中燙燒傷防護與處理
- 頸椎的護理課件
- 界面設計風格解析與應用
- 《智能網聯汽車技術》課件-自動駕駛等級劃分的認知
- 預防流感主題班會課件
- 股東出資情況表模板
- 甘肅省天水市甘谷縣第一中學2025屆物理高一下期末質量檢測試題含解析
- GB/T 4074.5-2024繞組線試驗方法第5部分:電性能
- 熱水袋燙傷RCA分析2022
- 業主提前裝修免責協議
- 2024年上海市計算機一級考試復習題庫(含答案)
- 新生兒吸痰護理課件
- 礦井通風工技師(高級技師)理論考試題庫
- 《急救知識普及》課件
- 《應急救援知識》課件
- 智慧物業管理方案
評論
0/150
提交評論