java 保存和读取本地json文件

  1. private void saveDataToFile(String fileName,String data) {  
  2.         BufferedWriter writer = null;  
  3.         File file = new File("d:\\"+ fileName + ".json");  
  4.         //如果文件不存在,则新建一个  
  5.         if(!file.exists()){  
  6.             try {  
  7.                 file.createNewFile();  
  8.             } catch (IOException e) {  
  9.                 e.printStackTrace();  
  10.             }  
  11.         }  
  12.         //写入  
  13.         try {  
  14.             writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file,false), "UTF-8"));  
  15.             writer.write(data);  
  16.         } catch (IOException e) {  
  17.             e.printStackTrace();  
  18.         }finally {  
  19.             try {  
  20.                 if(writer != null){  
  21.                     writer.close();  
  22.                 }  
  23.             } catch (IOException e) {  
  24.                 e.printStackTrace();  
  25.             }  
  26.         }  
  27.        System.out.println("文件写入成功!");  

  1.     }  
  2. 取数据

    [java]  view plain  copy
    1. private String getDatafromFile(String fileName) {  
    2.           
    3.         String Path="d:\\" + fileName+ ".json";  
    4.         BufferedReader reader = null;  
    5.         String laststr = "";  
    6.         try {  
    7.             FileInputStream fileInputStream = new FileInputStream(Path);  
    8.             InputStreamReader inputStreamReader = new InputStreamReader(fileInputStream, "UTF-8");  
    9.             reader = new BufferedReader(inputStreamReader);  
    10.             String tempString = null;  
    11.             while ((tempString = reader.readLine()) != null) {  
    12.                 laststr += tempString;  
    13.             }  
    14.             reader.close();  
    15.         } catch (IOException e) {  
    16.             e.printStackTrace();  
    17.         } finally {  
    18.             if (reader != null) {  
    19.                 try {  
    20.                     reader.close();  
    21.                 } catch (IOException e) {  
    22.                     e.printStackTrace();  
    23.                 }  
    24.             }  
    25.         }  
    26.         return laststr;  
    27.     }  

Java中,可以使用Apache POI库(针对Microsoft Office格式如PDF)配合JSON解析库(例如Jackson或Gson)来实现这个功能。以下是大致步骤: 1. **添加依赖库**: - 首先,需要在项目中引入Apache POI和JSON解析库的依赖。对于Maven项目,可以在pom.xml中添加: ```xml <dependencies> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>最新版本号</version> </dependency> <!-- Jackson JSON处理 --> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>最新版本号</version> </dependency> </dependencies> ``` 2. **读取JSON文件**: 使用`Files.readAllBytes()`或`new File().readLines()`等方法从本地获取JSON文件内容,然后使用Jackson或其他库解析成Java对象。 3. **生成PDF**: 使用Apache POI的`XWPFDocument`或`POITextExtractor`类创建一个新的Word文档,并将数据填充到其中。例如,你可以创建表格或文本框来展示解析出的JSON数据。 4. **保存PDF**: 将生成的Word文档转换为PDF,Apache POI并不直接支持这一步,你需要使用第三方库如iText、 Flying Saucer或PDFBox。例如,iText可以这样做: ```java // 导入iText库 import com.itextpdf.text.Document; import com.itextpdf.text.Paragraph; Document document = new Document(); try { PdfWriter.getInstance(document, new FileOutputStream("output.pdf")); document.open(); // 添加JSON数据生成的段落到PDF for (Object obj : jsonData) { Paragraph paragraph = new Paragraph(obj.toString()); document.add(paragraph); } document.close(); } catch (Exception e) { e.printStackTrace(); } ``` 5. **整合所有步骤**: 将上述部分组合起来,处理异常并提供适当的错误反馈。 注意,这是一个简化的示例,实际操作中可能需要对JSON数据进行更复杂的处理,比如遍历嵌套结构。同时,PDF转换过程可能会比较复杂,取决于你的数据结构和最终需求。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值