精华内容
下载资源
问答
  • java 读取txt文件的json数据

    千次阅读 2019-06-18 17:37:33
    JAVA读取txt文件的json数据 读取txt文档数据保存到数据库所需操作如下: package com.yuanpeng.controller; import org.json.JSONArray; import org.json.JSONObject; import java.io.BufferedReader; ...

     JAVA 读取txt文件的json数据


    读取txt文档中数据保存到数据库中所需操作如下:

    package com.yuanpeng.controller;
    
    import org.json.JSONArray;
    import org.json.JSONObject;
    import java.io.BufferedReader;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.InputStreamReader;
    
    /**
     * Title:
     * Project: 读取TXT文档中json数据
     *
     * @author YuanPeng
     */
    public class ReadStudentTxtTest {
    
        /**
         *  *********  测 试  *********
         */
        public static void main(String[] args) {
            // 迭代文件下所有文件及文件夹下txt文件可参照此方法
            // traverseFolder("D:\\studentFile");
    
            // 读取单个txt文件
            File file = new File("D:\\studentFile");
            File[] files = file.listFiles();
            for (File f :files){
                if(f.isFile()){
                    // System.out.println("文件目录为:"+f);
                    readStudentTxt(f);
                }
            }
        }
    
        /**
         * 迭代文件夹下所有文件
         * @param path 总文件路径
         */
        public static void traverseFolder(String path) {
            File files = new File(path);
            if (files.exists()) {
                File[] listFiles = files.listFiles();
                if (null == listFiles || listFiles.length == 0) {
                    System.out.println("文件夹是空的!");
                } else {
                    for (File file : listFiles) {
                        if (file.isDirectory()) {
                            traverseFolder(file.getAbsolutePath());
                        } else {
                            if(file.isFile()){
                                readStudentTxt(file);
                            }
                        }
                    }
                }
            } else {
                System.out.println("文件不存在!");
            }
        }
    
        /**
         *  *********  读取文本方法  *********
         * @param file 读取传递过来的文件
         */
        public static void readStudentTxt(File file) {
            try {
                InputStreamReader isr = new InputStreamReader(new FileInputStream(file), "gbk");
                BufferedReader br = new BufferedReader(isr);
                StringBuffer resposeBuffer = new StringBuffer("");
                String lineTxt = null;
                while ((lineTxt = br.readLine()) != null) {
                    //lineTxt = new String(lineTxt.getBytes(), "utf-8");
                    JSONObject object = new JSONObject(lineTxt);
                    String schoolClassId = object.getString("schoolClassId");
                    System.out.println(schoolClassId+" 下所有的学生的分别是:");
                    JSONArray student = object.getJSONArray("student");
                    for(int i = 0; i< student.length() ; i++) {
                        JSONObject object1 = student.getJSONObject(i);
                        String studentId = object1.getString("studentId");
                        String studentName = object1.getString("studentName");
                        System.out.println("学生的ID为:"+studentId+";学生的姓名为:"+studentName);
                    }
                }
                br.close();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    
    }
    

     

    展开全文
  • 主要给大家介绍了关于利用java读取web项目中json文件为map集合的相关资料,文中通过示例代码给大家介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
  • 今天小编就为大家分享一篇Java读取本地json文件及相应处理方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • txt文件的内容如下package test;import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.InputStreamReader;import java.util....

    txt文件中的内容如下,以下代码可直接运行

    package com.hwt.count.test;

    import java.io.BufferedReader;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.InputStreamReader;
    import java.util.ArrayList;
    import java.util.List;

    import org.apache.poi.hssf.usermodel.HSSFCell;
    import org.apache.poi.hssf.usermodel.HSSFCellStyle;
    import org.apache.poi.hssf.usermodel.HSSFFont;
    import org.apache.poi.hssf.usermodel.HSSFRow;
    import org.apache.poi.hssf.usermodel.HSSFSheet;
    import org.apache.poi.hssf.usermodel.HSSFWorkbook;
    import org.apache.poi.hssf.util.CellRangeAddress;
    import org.apache.poi.hssf.util.HSSFColor;
    import net.sf.json.JSONObject;

    public class Testaa {

        public static void main(String[] args) {
            try {
                String path = "C:/Users/dell/Desktop/test.txt";
                File file = new File(path);
                InputStreamReader isr = new InputStreamReader(new FileInputStream(file),"GBK");
                BufferedReader br = new BufferedReader(isr);
                String content = br.readLine() ;
                br.close();
                isr.close();
                content = content.substring(2, content.length()-2);
                content = content.replace("},{", ";");
                String[] arrContent = content.split(";");
                
                //设置列头名称和表体数据
                String[] rowsName = new String[]{"code_type","code","name"};
                List<Object[]> dataList = new ArrayList<Object[]>();
                
                for(String arrc : arrContent){
                    JSONObject jsonObj = JSONObject.fromObject("{"+arrc+"}");
                    String code = jsonObj.getString("code");
                    String name = jsonObj.getString("name");
                    Object[] obj = new Object[rowsName.length];
                    obj[0] = "TYPE";
                    obj[1] = code;
                    obj[2] = name;
                    dataList.add(obj);
                }
                //设置列头名称和表体数据
                HSSFWorkbook workbook = setWorkBookDate(dataList,rowsName);
                try {
                    // 将workbook对象输出到文件test.xls
                    FileOutputStream fos = new FileOutputStream("C:/Users/dell/Desktop/test.xls");
                    workbook.write(fos);
                    fos.flush(); // 缓冲
                    fos.close(); // 关闭流
                }catch (Exception e1) {
                    e1.printStackTrace();
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
        }

        private static HSSFWorkbook setWorkBookDate(List<Object[]>  dataList,String[] rowsName){
            
            //创建工作簿对象
            HSSFWorkbook workbook = new HSSFWorkbook();
            //创建工作表,设置当前页名称
            HSSFSheet sheet = workbook.createSheet("测试");
            //设置默认行高
            sheet.setDefaultRowHeight((short)350);
            //合并表头表尾的单元格
            /*sheet.addMergedRegion(new CellRangeAddress(0, 2, 0, 3));
            sheet.addMergedRegion(new CellRangeAddress(3, 3, 0, 3));
            //冻结行
            workbook.getSheetAt(0).createFreezePane(0, 4);
            RegionUtil.setBorderBottom(1, new CellRangeAddress(3, 3, 0, 3), workbook.getSheetAt(0), workbook);//设置边框
    */        // 获取表头样式对象
            // 获取表体样式对象
            HSSFCellStyle style = getCommonStyle(workbook);
            
            // 定义所需列数
            int columnNum = rowsName.length;
            //创建列头
            HSSFRow rowHead = sheet.createRow(0);  
            for(int n = 0;n < columnNum;n++){
                HSSFCell cellRow = rowHead.createCell(n,HSSFCell.CELL_TYPE_STRING);//创建列头对应个数的单元格                
                cellRow.setCellValue(rowsName[n]);//设置列头单元格的值                        
                cellRow.setCellStyle(style);//设置列头单元格样式                        
            }
            
            //将查询出的数据设置到sheet对应的单元格中
            for(int i=0;i<dataList.size();i++){
                Object[] obj =new Object[dataList.get(i).length];
                obj[0] = dataList.get(i)[0];
                obj[1] = dataList.get(i)[1];
                obj[2] = dataList.get(i)[2];
                HSSFRow row = sheet.createRow(i+1);//创建所需的行数
                for(int j = 0; j < obj.length; j++){
                    HSSFCell cell = 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 (int colNum = 0; colNum < columnNum; colNum++) {
                int columnWidth = sheet.getColumnWidth(colNum) / 256;
                for (int rowNum = 0; rowNum < sheet.getLastRowNum(); rowNum++) {
                    HSSFRow currentRow;
                    //当前行未被使用过
                    if (sheet.getRow(rowNum) == null) {
                        currentRow = sheet.createRow(rowNum);
                    } else {
                        currentRow = sheet.getRow(rowNum);
                    }
                    if (currentRow.getCell(colNum) != null) {
                        HSSFCell currentCell = currentRow.getCell(colNum);
                        if(currentCell != null && !"".equals(currentCell)){
                            if (currentCell.getCellType() == HSSFCell.CELL_TYPE_STRING) {
                                int length = currentCell.getStringCellValue().getBytes().length;
                                if (columnWidth < length) {
                                    columnWidth = length;
                                }
                            }
                        }
                    }
                }
                if(colNum == 0){
                    //设置表体第一列的宽度
                    sheet.setColumnWidth(colNum, (columnWidth+4) * 400);
                }else{
                    //设置表体其他列的宽度
                    sheet.setColumnWidth(colNum, (columnWidth+4) * 400);
                }
            }
            return workbook;
        }

        public static HSSFCellStyle getCommonStyle(HSSFWorkbook workbook) {
          // 设置字体
          HSSFFont font = workbook.createFont();
          //设置字体大小
          font.setFontHeightInPoints((short)11);
          //字体加粗
          //font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
          //设置字体名字 
          font.setFontName("Courier New");
          //设置样式; 
          HSSFCellStyle style = workbook.createCellStyle();
          //设置底边框; 
          style.setBorderBottom(HSSFCellStyle.BORDER_THIN);
          //设置底边框颜色;  
          style.setBottomBorderColor(HSSFColor.BLACK.index);
          //设置左边框;   
          style.setBorderLeft(HSSFCellStyle.BORDER_THIN);
          //设置左边框颜色; 
          style.setLeftBorderColor(HSSFColor.BLACK.index);
          //设置右边框; 
          style.setBorderRight(HSSFCellStyle.BORDER_THIN);
          //设置右边框颜色; 
          style.setRightBorderColor(HSSFColor.BLACK.index);
          //设置顶边框; 
          style.setBorderTop(HSSFCellStyle.BORDER_THIN);
          //设置顶边框颜色;  
          style.setTopBorderColor(HSSFColor.BLACK.index);
          //在样式用应用设置的字体;  
          style.setFont(font);
          //设置自动换行; 
          style.setWrapText(false);
          //设置水平对齐的样式为居中对齐;  
          style.setAlignment(HSSFCellStyle.ALIGN_CENTER);
          //设置垂直对齐的样式为居中对齐; 
          style.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
          return style;
        }

    }
     

    展开全文
  • CodeName.txt 文件是 { “English”:“英国”, ”China“:“中国”, } String dirname = “D:/test/CodeToName.txt”; List countries = new ArrayList<...//从硬盘存在的一个文件,读取其内容到程序,用FileI

    CodeName.txt
    文件中是
    {
    “English”:“英国”,
    ”China“:“中国”
    }

    package com.example.demo.controller;
    
    import java.io.*;
    import java.util.ArrayList;
    import java.util.List;
    
    public class FileTest {
    
        public static void main(String[] args) throws IOException {
            String dirname = "D:/test/CodeToName.txt";
            List<Country> countries = new ArrayList<>();
            List<String> strings = new ArrayList<>();
            //创建一个文件对象
            File codeNameFile = new File(dirname);
            //从硬盘存在的一个文件,读取其内容到程序中,用FileInputStream
            FileInputStream fileInputStream = new FileInputStream(codeNameFile);
            //把字节流转换成字符流
            InputStreamReader inputStreamReader = new InputStreamReader(fileInputStream, "UTF-8");
            //将字符流读到缓存中,到缓存满了或者你flush的时候,再读入内存,为了提供读的效率而设计的
            BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
            String s = null;
            while ((s = bufferedReader.readLine()) != null) {//使用readLine方法,一次读一行
                if ("{".equals(s) || "}".equals(s)) {
                    continue;
                }
                String s1 = s.replace("\"", "");
                String s2 = s1.replace(",", "");
                String[] split = s2.split(":");
                Country country = new Country();
                country.setKeyName(split[0].trim());
                country.setName(split[1].trim());
                countries.add(country);
            }
            System.out.println(countries);
        }
    }
    
    
    public class Country {
    
        private String keyName;
        private String name;
    
        public String getKeyName() {
            return keyName;
        }
    
        public void setKeyName(String keyName) {
            this.keyName = keyName;
        }
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
        }
    
    展开全文
  • I am now want to read a series of JSON data(Nodes data) from local txt file(shown below, NODES.txt ). I use javax.json to do this.Currently, I have a Node class which contains the attributes:type, id,...

    I am now want to read a series of JSON data(Nodes data) from local txt file(shown below, NODES.txt ). I use javax.json to do this.

    Currently, I have a Node class which contains the attributes:type, id, geometry class(contains type, coordinates), properties class (contains name);

    Here is the data I need to retrieve, it contains more than 500 nodes in it, here I just list 3 of them, so I need to use a loop to do it, I am quite new to this, please help !!

    The sample JSON data in NODES.txt

    [

    {

    "type" : "Feature",

    "id" : 8005583,

    "geometry" : {

    "type" : "Point",

    "coordinates" : [

    -123.2288,

    48.7578

    ]

    },

    "properties" : {

    "name" : 1

    }

    },

    {

    "type" : "Feature",

    "id" : 8005612,

    "geometry" : {

    "type" : "Point",

    "coordinates" : [

    -123.2271,

    48.7471

    ]

    },

    "properties" : {

    "name" : 2

    }

    },

    {

    "type" : "Feature",

    "id" : 8004171,

    "geometry" : {

    "type" : "Point",

    "coordinates" : [

    -123.266,

    48.7563

    ]

    },

    "properties" : {

    "name" : 3

    }

    },

    ****A Lot In the Between****

    {

    "type" : "Feature",

    "id" : 8004172,

    "geometry" : {

    "type" : "Point",

    "coordinates" : [

    -113.226,

    45.7563

    ]

    },

    "properties" : {

    "name" : 526

    }

    }

    ]

    解决方案

    Create classes to represent the entries:

    Feature.java:

    import java.util.Map;

    public class Node {

    public String type;

    public String id;

    public Geometry geometry;

    public Properties properties;

    }

    Geometry.java:

    import java.util.List;

    public class Geometry {

    public String type;

    public List coordinates;

    }

    Properties.java:

    public class Properties {

    public String name;

    }

    And an application main class to drive the processing.

    Main.java:

    import com.google.gson.Gson;

    import java.io.FileReader;

    import java.io.Reader;

    public class Main {

    public static void main(String[] args) throws Exception {

    try (Reader reader = new FileReader("NODES.txt")) {

    Gson gson = new Gson();

    Node[] features = gson.fromJson(reader, Node[].class);

    // work with features

    }

    }

    }

    展开全文
  • 主要介绍了 java 读取excel文件转换成json格式的实例代码,需要的朋友可以参考下
  • /*** 从数据接口获取到数据* @return* @throws Exception*/public String readData() throws Exception {//创建StringBuffer类型的变量json,用于存放拼装好的json数据//StringBuffer json = new StringBuffer("");...
  • 1,从txt文本中读取文件 public static String readTxt2Json(String path) throws IOException { File file = new File(path); String jsonStr = ""; FileInputStream fis = null; InputStreamReader isr = ...
  • 开发过程经常会遇到json数据的处理,而单独对json数据进行增删改并不方便,尤其是Geojson文件的处理,通过对网络资料的整理总结,下面介绍Java语言方法对json数据进行读取、添加、删除与修改操作。
  • 帮助你有效的认识json,并解决实际常见的问题。
  • JAVA获取txtjson等文件内容 本文主要讲述通过http请求读取文件和通过文件路径读取现有文件。 通过Http请求读取文件 前端调用接口(参数:文件信息),后端读取文件内容。 读取一个文件 @GetMapping("/readFile")...
  • java编程,对json文件进行读写操作,需要引用的jar包。
  • java 读取txt文件转json失败

    千次阅读 2018-02-05 18:27:12
    java读取,在控制台打印没任何问题,如果转成jsonObject取第一行第一个key时,没问题。取第二行第一个key时,jsonObject取值出错,提示无该属性。原因:我把第一行字符串转成ASCII值看,第一行有这个ASCI...
  • java中解析json字符串

    2019-01-07 22:15:31
    java中需要解析前端传过来的json数据,完成相应的格式转换~
  • java读取json数据出现乱码的代码:(推荐:java视频教程)//从json文件读取数据StringBuffer stringBuffer = new StringBuffer();try {BufferedReader bufferedReader =new BufferedReader(new InputStreamReader...
  • 使用io流读取指定文件夹下的json.txt文件,一键生成java类的指定位置
  • 今天小编就为大家分享一篇java 实现读取txt文本数据并以数组形式一行一行取值,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • Java读取json文件,并转化为map取值,并附上相关jar包
  • Java读写TXT文件(JSON格式) 读文件代码: /* 读文件(json) */ public static Map<String, Object> parseFile(String path) { try { File file = new File(path); if (file.isFile() && ...
  • Java 读取Json文件内容

    千次阅读 2021-02-12 10:51:14
    读取json文件为String类型:import org.apache.logging.log4j.LogManager;import org.apache.logging.log4j.Logger;import java.io.*;/*** Json读取工具类*/public class JsonUtil {private static final Logger ...
  • 背景:存在一个txt文件,内容为json数据,格式如下(不是一行一条数据): [{"name":"job","age":39,"occupation":"doctor"},{"name":"tom","age":30,"occupation":"teacher"}{...需求:将txt文件中json数据取出,存入
  • import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.JSONArray;import ...import java.io.*;public class JsonTest {//读取json文件public static String readJsonFile(Stri...
  • Java 读取本地 JSON 文件

    千次阅读 2021-02-27 17:11:46
    在开发Elasticsearch的应用过程,需要读取索引相关的JSON Settings、MAppings设置,将JSON文档存放到项目的resources 目录,然后读取并调用Elasticsearch API 执行。POM依赖com.alibabafastjson1.2.56读取JSON工具...
  •  读取nameID.txt文件的NAMEID字段(key)对应值(value)并存储,读取NAMEID对应值,读取原始json文件并进行操作和输出,并创建一个包含原始json串的json对象,获取features数组的第i个json对象,读取properties...
  • java读取json文件内容详解

    千次阅读 2021-03-03 11:56:50
    之前给大家介绍了一下java读取txt文件内容,下面要给大家介绍的就是java读取json文件内容,一起来了解一下吧。1、java读取json文件下面是具体的思路:首先是获取文件-获取文件内容-转换成json对象-读取json对象下面...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 156,417
精华内容 62,566
关键字:

java读取txt中的json

java 订阅