精华内容
下载资源
问答
  • 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();
            }
        }
    
    }
    

     

    展开全文
  • 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;
        }
        }
    
    展开全文
  • json数据有些字符串太长,想换行写确不知道怎么去换行,那么接下来,我们就来给大家讲解一下json换行方法,不会小伙伴可以参考以下方法!大家觉得文章有用话,也可以收藏哦!后台代码把换行符\r\n替换为\\r\\n...

    json数据中有些字符串太长,想换行写确不知道怎么去换行,那么接下来,我们就来给大家讲解一下json换行的方法,不会的小伙伴可以参考以下方法!大家觉得文章有用的话,也可以收藏哦!

    后台代码把换行符\r\n替换为\\r\\n,前台代码js收到的字符就是\r\n。代码如下:public static string ConvertFromListTojson(IListlist, int total, string columnInfos) where T: class

    {

    string[] cols = columnInfos.Split(new char[]

    {

    ','

    }, StringSplitOptions.RemoveEmptyEntries);

    StringBuilder sb = new StringBuilder(300);

    sb.Append("{\"total\":");

    sb.Append(total);

    sb.Append(",\"rows\":");

    sb.Append("[");

    foreach(T t in list)

    {

    sb.Append("{");

    foreach(string col in cols)

    {

    string name = "\"{0}\":\"{1}\",";

    string value = getValue(t, col);

    value = value.Replace("\r\n", "\\r\\n");

    sb.Append(string.Format(name, col, value));

    }

    if (cols.Length > 0)

    {

    int length = sb.Length;

    sb.Remove(length - 1, 1);

    }

    sb.Append("},");

    }

    if (list.Count > 0)

    {

    int length2 = sb.Length;

    sb.Remove(length2 - 1, 1);

    }

    sb.Append("]");

    sb.Append("}");

    return sb.ToString();

    }

    private static string getValue(T t, string pname) where T: class

    {

    Type type = t.GetType();

    PropertyInfo pinfo = type.GetProperty(pname);

    if (pinfo != null)

    {

    object v = pinfo.GetValue(t, null);

    return v != null ? v.ToString() : "";

    }

    else

    {

    throw new Exception("不存在属性" + pname);

    }

    }

    Java读取txt文件换行怎么写?

    1. Java读取txt文件package com.campu;

    import java.io.BufferedInputStream;

    import java.io.BufferedReader;

    import java.io.File;

    import java.io.FileInputStream;

    import java.io.InputStreamReader;

    import java.io.Reader;

    /**

    * H20121012.java

    */

    public class H20121012

    {

    public static void readTxtFile(String filePath)

    {

    try

    {

    String encoding = "GBK";

    File file = new File(filePath);

    if (file.isFile() && file.exists())

    { //判断文件是否存在

    InputStreamReader read = new InputStreamReader(

    new FileInputStream(file), encoding); //考虑到编码格式

    BufferedReader bufferedReader = new BufferedReader(read);

    String lineTxt = null;

    while ((lineTxt = bufferedReader.readLine()) != null)

    {

    System.out.println(lineTxt);

    }

    read.close();

    }

    else

    {

    System.out.println("找不到指定的文件");

    }

    }

    catch (Exception e)

    {

    System.out.println("读取文件内容出错");

    e.printStackTrace();

    }

    }

    public static void main(String argv[])

    {

    String filePath = "L:\\Apache\\htdocs\\res\\20121012.txt";

    // "res/";

    readTxtFile(filePath);

    }

    }

    2.不同操作系统换行写txt文件

    针对常用的系统,可以使用如下的转义符实现换行:

    windows下的文本文件换行符:\r\n

    linux/unix下的文本文件换行符:\r

    Mac下的文本文件换行符:\n

    (1)使用java中的转义符"\r\n":

    String str="aaa";

    str+="\r\n";

    (2)BufferedWriter的newline()方法:

    FileOutputStream fos=new FileOutputStream("c;\\11.txt");

    BufferedWriter bw=new BufferedWriter(fos);

    bw.write("你好");

    bw.newline();

    bw.write("java");

    w.newline();

    json换行的方法大家可参考以上内容,另外,本文也分享了

    Java读取txt文件换行写txt文件的方法,希望也能给大家带来帮助哦!最后大家如果想要了解更多json工具教程知识,敬请关注奇Q工具网。

    推荐阅读:

    展开全文
  • java读取url中的txt文件

    2019-12-20 10:47:31
    我涉及到项目场景是这样:要把脑电数据(txt文件)从阿里云oss解析成json,为了不产生文件冗余,就不下载了。 我之前对输入流输出流什么,用不多,不太熟悉。所以这次写完记录一下。网上查了有下载...
  • 然后用inputstream类进行读取,用stringbuffer进行分类,用pattern类识别到分段(这里JSON文档里刚好是空格进行每个数据分离) 然后用jxl包将数据写入exl即可 代码 File file = new File("e:/test.txt"); ...
  •  读取nameID.txt文件中的NAMEID字段(key)对应值(value)并存储,读取NAMEID对应值,读取原始json文件并进行操作和输出,并创建一个包含原始json串的json对象,获取features数组的第i个json对象,读取properties...
  • 新建assets资源文件夹(注意:assets和java文件夹是同一个级别)将.json或者.txt文件(比如:test.json)放入assets文件夹下接下来就是读取的过程了public static String getJson(String fileName,Context context) {/...
  • Java读取json文件并输出到excel

    千次阅读 2020-03-21 00:03:53
    假设D:/test.txt文件保存json格式数据,解析后使用poi写入到excel文件 package vo; import java.io.BufferedReader; import java.io.File; import java.io.FileOutputStream; import java.io....
  • java读写txtjson、Excle

    2018-11-20 10:26:18
    1、读取:将txt中的文本存入List public List&amp;amp;lt;String&amp;amp;gt; readTxt (String readFilePath) throws IOException { List&amp;amp;lt;String&amp;amp;gt; content = new ...
  • 大概就是这样一个post然后用户的需求是:1、分析这个接口...=0.5,打印分值情感倾向:1输出文本中的结果为:这里用到了httpclient,要用到的jar包,下载的gz包解压把lib里的jar包build到eclipse项目中去(此步省)链接...
  • 由于项目需要,用Java写了一...然后写到.txt文件,写入格式为JSON格式,并且写入是不同excle文件时需要换行。要读取excle文件需要导入一个包:jxl.jar 要转换成成JSON格式需要导入另一个包:json.jar 如下图:
  • 1 前言 上次总结了txt和csv两种文件的读取方式,这次再总结一下xml文件、json文件的读取方式。...2 操作举例2.1 读取xml文件2.1.1 xml文件的读取方式data.xml中的数据:<type> <num>4...
  • 将文件中的作为对象读取出来 File ff = new File("src\\test\\resources\\misc\\data.txt"); ObjectMapper mapper = new ObjectMapper(); //将json文件读取出来,变为一个对象,为了和新的回测数据进行...
  • Javatxt文件内容增删该查操作

    千次阅读 2019-04-05 10:12:45
    在之前文章中介绍了怎样在java中实现对txt文档的读取和写入的操作,并且可以通过保存为json格式方便数据的使用,但是如果需要对txt中的数据修改或删除操作,通常的做法是通过读取操作,将所有的数据读取出来放在一个...
  • 数量有很多,是以txt文本存在D盘,现在流程是这样:读取文本->解析Json,获得uid和text(将utf-8编码改为中文)->存入MySql数据库retweetedWeibo表里,只有2个字段(uid,text)。 已经在网上找过很多java ...
  • Java文件读写Java中I/O流对文件读写有很多种方法,百度后主要看了以下三种第一种方式:使用FileWriter和FileReader,对文件内容按字符读取,代码如下String dir = "E:\\soft\\aaa\\a.txt";File file = new File...
  • 创建java工具类,封装相应方法(1)加载读取ip.txt文档,获取各字段,将之封装进javabean,并将javabean存储至list去(ip地址为区间范围,用map满足不了需求),以便后面能通过access.log内ip找到其在ip.txt所属...
  • Java中I/O流对文件读写有很多种方法,百度后主要看了以下三种 第一种方式:使用FileWriter和FileReader,对文件内容按字符读取,代码如下 String dir = "E:\\soft\\aaa\\a.txt"; File file = new File(dir); //...
  • day23中的ip,url案例(前面答案错了) 思路分析: 1.创建javabean,用来存储ip.txt各字段的信息  2. 创建java工具类,封装相应的方法  (1)加载读取ip.txt文档,获取各字段,将之封装进javabean,并将...
  • java web项目 获取resource路径下文件路径:public GetResource{String path = GetResource.class.getClassLoader().getResource("xx/xx.txt").getPath();}说明:GetResource是当前类;SpringBoot读取JSON文件...
  • 今天在网上找了一个批量数据导入到es中的java代码,代码主要逻辑如下:// 读取要导入数据的文件BufferedReader br = new BufferedReader(new FileReader("D:\\test\\test.txt"));String json = null;int count = 0;/...
  • json返回数据格式是正确,但是前台界面却显示,服务器端我使用struts2,为了方便调试,目前json拼接先直接接到txt文件,action直接读取文件内容返回。方便修改测试,等这个问题解决后,改为 动态拼写,...
  • java web项目 获取resource路径下文件路径: public GetResource{  String path = GetResource.class.getClassLoader().getResource("xx/xx.txt").getPath(); } 说明:GetResource是当前类; ...
  • //注意java对SQL Server发送SQL语句表名需要用[]包围 System.out.println("SQL 开始"); for (int i = 0; i (); i++) { userid[i] = jsonArr.getJSONObject(i).getString("userid"); username[i] = ...
  • 今天在网上找了一个批量数据导入到es中的java代码,代码主要逻辑如下:// 读取要导入数据的文件 BufferedReader br = new BufferedReader(new FileReader( "D:\\test\\test.txt")); String json = null; int count...
  • 我正在编写一个基本上读取文本文件(表格格式)代码,并检查文件是否包含预期数据类型。...{filename:"test.txt",cols:{name:string,age: int}}JSON文件包含每行DataType,所以我知道会发生...
  • 支持使用方案文件中平面文件(Excel,CSV,Txt中的数据 2号能力(COOKER记者) 解析并生成执行摘要报告 这取决于Cucumber生成的JSON文件 读取目录中的所有JSON文件 解析并生成控制台中所有功能的摘要报告(仅适用...
  • JAVA上百实例源码以及开源项目

    千次下载 热门讨论 2016-01-03 17:37:40
     这是个J2ME控制台程序,它能剔除PNG文件中的非关键数据段,减少文件大小从而达到压缩图片的目的。而图片的质量并不会受到损失。使用时候只需在控制台窗口执行jar就可以了。 Java 3DMenu 界面源码 5个目标文件 ...

空空如也

空空如也

1 2 3
收藏数 53
精华内容 21
关键字:

java读取txt中的json

java 订阅