【Java基础之Java IO】代码库(一)
来源:互联网 发布:c语言判断水仙花数程序 编辑:程序博客网 时间:2024/06/14 23:59
IO 输入输出.java
import java.io.*;import java.util.Scanner;public class Console { public static void main(String args[]) { String str = new String(); int[] arr = new int[10]; BufferedReader inputB = new BufferedReader(new InputStreamReader(System.in)); //字节->字符->文本(读取带缓冲) Scanner inputS = new Scanner(System.in); try { str = inputB.readLine(); for (int i=0; i<10; i++) { arr[i] = inputS.nextInt(); } } catch (IOException e) { e.printStackTrace(); } }}
JSON 处理
合成 JSON.java
package chameleon;import org.json.*;public class Account { private String ssid; private String mac; private String psk; private JSONObject jb = new JSONObject(); public String getSsid() { return ssid; } public void setSsid(String ssid) { this.ssid = ssid; } public String getMac() { return mac; } public void setMac(String mac) { this.mac = mac; } public String getPsk() { return psk; } public void setPsk(String psk) { this.psk = psk; } public String toString(String mac, String psk) { String result = null; if ((mac != null) && (psk != null)) { try { jb.put("mac", mac); jb.put("psk", psk); } catch (Exception e) { e.printStackTrace(); } result = jb.toString(); } return result; }}
XML 处理
解析 XML.java
public class SAX { /** * 读取 XML. * * @param String uri XML 存储路径. * @param String nodeName 节点名称. * @param String fileName 文件名. */ public void read(String uri, String nodeName, String fileName) { //判断 uri, nodeName, filename 合法性 try { SAXParserFactory parserFactory = SAXParserFactory.newInstance(); //反射, parser 工厂实例 SAXParser parser = parserFactory.newSAXParser(); //反射 //事件处理 ParseHandler myhandler = new ParseHandler(nodeName, fileName); parser.parse(uri, myhandler); } catch (Exception e) { e.printStackTrace(); } }}public class ParseHandler extends DefaultHandler { private String nodeName = null; private String currentTag = null; private Article article = new Article(); private BufferedWriter bufferedWriter = null; public ParseHandler(String nodeName, String fileName) { this.nodeName = nodeName; try { this.bufferedWriter = new BufferedWriter(new FileWriter(fileName)); } catch (Exception e) { e.printStackTrace(); } } @Override public void startDocument() throws SAXException { System.out.println("开始解析 XML, 写入 TXT 文档!"); } @Override public void startElement(String uri, String localName, String qName, Attributes attr) throws SAXException { if ("article".equals(qName)) { //从第一个标签开始顺序往下读取 article.setMDate(attr.getValue(0)); article.setKey(attr.getValue(1)); } currentTag = qName; } @Override public void characters(char[] ch, int start, int length) throws SAXException { if (currentTag != null) { String value = new String(ch, start, length); switch(currentTag) { //判断起始标签 case "author": article.setAuthor(value); break; case "title": article.setTitle(value); break; case "pages": article.setPages(value); break; case "year": article.setYear(value); break; case "volume": article.setVolume(value); break; case "journal": article.setJournal(value); break; case "number": article.setNumber(value); break; case "url": article.setUrl(value); break; case "ee": article.setEE(value); break; default: break; } } } @Override public void endElement(String namespaceURI, String localName, String qName) throws SAXException { if ("article".equals(qName)) { try { bufferedWriter.write(article.toString()); bufferedWriter.newLine(); } catch (IOException e) { e.printStackTrace(); } } currentTag = null; //释放节点 } @Override public void endDocument() throws SAXException { if (bufferedWriter != null) { try { bufferedWriter.flush(); bufferedWriter.close(); } catch (IOException e) { e.printStackTrace(); } } System.out.println("XML 文档解析完成,请查看 TXT 文档!"); }}
阅读全文
0 0
- 【Java基础之Java IO】代码库(一)
- java基础巩固之IO(一)
- java基础---IO(一)
- JAVA基础之IO(一、IO结构)
- java基础之io
- java基础之IO
- java基础之IO
- java基础之IO
- Java基础之IO
- java基础之 IO
- Java基础之IO
- Java基础之IO
- Java基础之IO
- Java基础之io
- java基础之 IO
- Java基础之--IO
- Java基础之IO
- Java IO 基础总结(一)
- 比特币开发专题(数字货币原理理解及应用实例)
- ArcGIS地图抽稀
- C语言:条件表达式
- 多图上传+springMVC简单实现
- css预加载
- 【Java基础之Java IO】代码库(一)
- Scala Actor,receive不断接收消息,react复用线程,结合case class的actor,Future使用,使用Actor进行wordCount
- 网易2017秋招编程题集合
- Spring AOP详解
- C语言:组合:逻辑表达式
- Resources 与 StreamingAssets
- java冒泡算法和选择排序算法在数组遍历中的应用(初级)
- 在docker中部署mysql-cluster
- Codis集群的搭建与使用