第二周第四天(解析/过滤文件/找d盘里的所有txt文件/FileInputStream/FileOutputStream/拷贝文件/readLine读取一个文本行/在一个文档里写入内容)
2015-07-23 20:12
976 查看
过滤文件
[code]package com.day4_2015_7_23; import java.io.File; public class Test { public static void main(String[] args) { ergodicFile("d:\\"); } public static void ergodicFile(String filePath){ File file = new File(filePath); //public File(String pathname)通过将给定路径名字符串转换为抽象路径名来创建一个新 File 实例 File[] files = file.listFiles();//file.listFiles() 返回一个抽象路径名数组, //这些路径名表示此抽象路径名表示的目录中的文件。 for (int i = 0; i < files.length; i++) { if(files[i].isDirectory()){ //files[i].isDirectory()测试此抽象路径名表示的文件是否是一个目录。 ergodicFile(files[i].getAbsolutePath()); //files[i].getAbsolutePath()返回此抽象路径名的绝对路径名字符串。 }else{ if(files[i].getName().endsWith(".zip")){ System.out.println(files[i].getAbsolutePath()); } } } } }
找d盘里的所有txt文件
[code]package com.day4_2015_7_23; import java.io.File; import java.io.FilenameFilter; import java.nio.file.Files; public class ZipFilenameFilter implements FilenameFilter{ @Override public boolean accept(File dir, String name) { return name.endsWith(".txt"); } } package com.day4_2015_7_23; import java.io.File; public class Test1 { public static void main(String[] args) { ZipFilenameFilter filter = new ZipFilenameFilter(); File file = new File("d:\\"); File[] files = file.listFiles(filter); for (int i = 0; i < files.length; i++) { System.out.println(files[i].getAbsolutePath()); } } }
FileInputStream
[code]package com.day4_2015_7_23; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; public class Test2 { public static void main(String[] args) { File file =new File("d:\\11.txt"); FileInputStream in =null; try{ in = new FileInputStream(file); byte[] arry = new byte[1024]; int i = in.read(arry); while(i != -1){ System.out.println(new String(arry,0,i)); i=in.read(arry); } }catch (FileNotFoundException e) { // TODO: handle exception e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally{ if(in!=null);{ try { in.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } } }
FileOutputStream
[code]//*************FileOutputStream*************// package com.day4_2015_7_23; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.util.Scanner; public class Test3 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); String s=scanner.next(); File file =new File("d:\\33.txt"); if(!file.exists()){ try { file.createNewFile(); } catch (IOException e) { // TODO: handle exception e.printStackTrace(); } } FileOutputStream out = null; try { out = new FileOutputStream(file); out.write(s.getBytes()); out.flush(); } catch (FileNotFoundException e) { // TODO: handle exception e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally{ if(out!=null);{ try { out.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } } }
拷贝文件
[code]//***********拷贝文件**************// package com.day4_2015_7_23; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; public class Test4 { public static void main(String[] args) { copy("d:\\22.txt","d:\\33.txt"); } //写一个copy的方法 public static void copy(String path,String copy){ File source = new File(path); File file = new File(copy); if(!source.exists()){ System.out.println("拷贝的源文件不存在"); return; } //如果要拷贝的文件不存在就新建一个文件 if(!file.exists()){ try{ file.createNewFile(); }catch(IOException e){ e.printStackTrace(); } } try { FileInputStream sourceIn = new FileInputStream(source); FileOutputStream copyOut = new FileOutputStream(copy); byte[] array = new byte[1024]; int i = 0; while(i !=-1){ i = sourceIn.read(array); if(i!=-1){ copyOut.write(array,0,i); } } sourceIn.close(); copyOut.flush(); copyOut.close(); } catch (FileNotFoundException e) { // TODO: handle exception e.printStackTrace(); }catch(IOException e){ e.printStackTrace(); } } }
readLine读取一个文本行
[code]//***********readLine读取一个文本行*************// package com.day4_2015_7_23; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; public class Test5 { public static void main(String[] args) { File file = new File("d:\\22.txt"); try { FileInputStream is = new FileInputStream(file); InputStreamReader read = new InputStreamReader(is); BufferedReader br = new BufferedReader(read); String s = br.readLine(); while(s!=null){ System.out.println(s); s=br.readLine(); } br.close(); read.close(); is.close(); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); }catch(IOException e){ e.printStackTrace(); } } }
在一个文档里写入内容
[code]//*********在一个文档里写入内容**********// package com.day4_2015_7_23; import java.io.BufferedWriter; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStreamWriter; public class Test6 { public static void main(String[] args) { File file = new File("d:\\22.txt"); try { FileOutputStream os = new FileOutputStream(file); OutputStreamWriter writer = new OutputStreamWriter(os); BufferedWriter bw = new BufferedWriter(writer); bw.write("你好"); bw.newLine(); bw.write("你好"); bw.flush(); writer.flush(); os.flush(); bw.close(); writer.close(); os.close(); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
修改文档内容
[code]///*******修改文档内容*****// package com.day4_2015_7_23; import java.io.File; import java.io.FileNotFoundException; import java.io.PrintStream; public class Test7 { public static void main(String[] args) { File file = new File("d:\\11.txt"); try { PrintStream ps = new PrintStream(file); System.setOut(ps); System.out.println("你好啊"); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
DOM解析
[code]package com.day4_2015_7_23; import java.io.IOException; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; import org.w3c.dom.Document; import org.w3c.dom.Node; import org.w3c.dom.NodeList; import org.xml.sax.SAXException; public class Test8 { public static void main(String[] args) { // 创建DOM解析器的工厂 DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); try { // 从DOM工厂获得DOM 解析器 DocumentBuilder db = dbf.newDocumentBuilder(); // 解析XML文档,得到一个Document,即DOM树 Document doc = db.parse("xml.xml"); // 得到所有的pet节点列表信息/得到文档中的所有weather标签 NodeList list = doc.getElementsByTagName("Weather"); // 轮循xml信息 for (int i = 0; i < list.getLength(); i++) { Node node = list.item(i); // node.getFirstChild()得到weather标签的第一个子标签city // node1.getNextSibling()得到city标签的下一个子标签 for (Node node1 = node.getFirstChild(); node1 != null; node1 = node1.getNextSibling()) if (node1.getNodeType() == node1.ELEMENT_NODE) {// 判断节点类型是ELEMENT_NODE if (node1.getFirstChild() != null) {// 得到该节点的第一个子节点不能为空 System.out.println(node1.getFirstChild().getNodeValue()); } } } } catch (ParserConfigurationException e) { e.printStackTrace(); } catch (SAXException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }
重写SAXException的一些方法,然后解析文件
[code]package com.day4_2015_7_23; import org.xml.sax.Attributes; import org.xml.sax.SAXException; import org.xml.sax.helpers.DefaultHandler; public class MySAXHandler extends DefaultHandler { @Override public void startDocument() throws SAXException { // TODO Auto-generated method stub super.startDocument(); System.out.println("开始解析"); } @Override public void endDocument() throws SAXException { // TODO Auto-generated method stub super.endDocument(); System.out.println("解析结束"); } @Override public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException { // TODO Auto-generated method stub super.startElement(uri, localName, qName, attributes); System.out.println("开始标签"+qName); if(qName.equals("Weather")){ System.out.println("Attributes"+attributes.getValue("name")); } } @Override public void endElement(String uri, String localName, String qName) throws SAXException { // TODO Auto-generated method stub super.endElement(uri, localName, qName); System.out.println("结束标签"+qName); } @Override public void characters(char[] ch, int start, int length) throws SAXException { // TODO Auto-generated method stub super.characters(ch, start, length); System.out.println("标签内容"+new String(ch,start,length)); } } package com.day4_2015_7_23; import java.io.File; import java.io.IOException; import javax.xml.parsers.ParserConfigurationException; import javax.xml.parsers.SAXParser; import javax.xml.parsers.SAXParserFactory; import org.xml.sax.SAXException; public class Test9 { public static void main(String[] args) { SAXParserFactory factory= SAXParserFactory.newInstance(); File f = new File("d:\\xml.xml"); try { SAXParser parser = factory.newSAXParser(); MySAXHandler handler = new MySAXHandler(); parser.parse(f, handler); }catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (ParserConfigurationException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (SAXException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
相关文章推荐
- Num 10 : HDOJ: 题目1093 :A+B for Input-Output Practice (V)
- 当 PHP 遇到 PDF
- PHP的MySQLi函数库的使用 以及 表单的字符编码配置
- 非常好用的两个PHP函数 serialize()和unserialize()
- 如何判断PHP 是线程安全还是非线程安全的
- php多线程thread开发与应用的例子
- php session文件修改路径
- ***PHP多线程pthreads 实现QQ号码爬虫
- (转)PHP函数spl_autoload_register()用法和__autoload()介绍
- php中的cookie和session
- vsftp配置文件信息
- ContentProvider内容介绍(1)
- 使用批处理文件在FTP服务器 上传下载文件
- php使用thrift操作hdfs
- 陈力:传智播客古代 珍宝币 泡泡龙游戏开发第35讲:PHP 抽象类与接口
- 解决PHPExcel在IE8无法下载的问题
- ContentProvider(实现增生改查)(3)
- 10款PHP开源网店系统
- 陈力:传智播客古代 珍宝币 泡泡龙游戏开发第34讲:PHP 封装、继承、多态
- 陈力:传智播客古代 珍宝币 泡泡龙游戏开发第33讲:PHP 静态变量、静态方法