<强> 1。问题描述强>
在一个目录及子目录下查找TXT或Java文件,从中搜索所有“对象”字样的行。
在D盘中的所有文件中搜索含有对“象”的行。
<强> 2。解题思路强>
先找出D盘下所有文件
再对每个文件中的每行内容进行,进行查找,若含有对“象”两字,输出该行。
<强> 3。程序代码强>
进口java.io.File; 进口java.io.IOException; 进口java.util.Scanner; 公共类B { 静态整数m=1; 静态空间搜索(文件、字符串x)抛出IOException{//在文件一个中的每行中查找x 扫描仪扫描=new扫描仪(a,“gbk”); int k=0; 而(真){ 如果(scan.hasNext ()==false)休息; 字符串s=scan.nextLine (); k + +; 如果(s.contains (x)) { 字符串党卫军=m +”。文件:“+ a.getPath() + "第" + k +”行\ n内容:“+ s; System.out.println (ss); m + +; } } 扫描仪scan1=new扫描仪(a,“utf - 8”); int k1=0; 而(真){ 如果(scan1.hasNext ()==false)休息; 字符串s1=scan1.nextLine (); k1 + +; 如果(s1.contains (x)) { 魔法石,第1章=m +”字符串。文件:“+ a.getPath() + "第" + k1 +“行\ n内容:“+ s1; System.out.println(魔法石,第1章); m + +; } } } 静态孔隙f(文件、字符串s)抛出IOException{//在一个下所有文件中查找含有年代的行 文件[]ff=a.listFiles (); 如果(ff==null)返回; (文件:ff) { 如果(it.isFile()){//若是文件,直接查找 搜索(s); } 如果(it.isDirectory()){//若是目录,则对其目录下的目录或文件继续查找 f (s); } } } 公共静态void main (String [] args)抛出IOException { f(新文件(“d: \ \”),“对象”); } }
<>强4。运行结果图强>
如图所示,在d盘下所有文件中共198行有含有对“象”两字。
<强> java编写一个程序分别用字节流和字符流拷贝一个文本文件强>
我就废话不多说了,大家还是直接看代码吧~
包cn; 进口. io . *; 公开课Test01 { 公共静态void main (String [] args){抛出异常//字节流拷贝//创建一个字节输入流,用于读取E盘下的sss.txt文件 FileInputStream fis=new FileInputStream (“E:/sss.txt”);//创建一个文件字节输出流,用于将读取到的数据写入当前sss.bak文件中 FileOutputStream安全系数=new FileOutputStream (“E:/sss.bak”); byte[]迷=新字节[1024];//定义一个字符数组作为缓冲区 int ch; 在((ch=fis.read()) !=1){//判断是否读到文件末尾 System.out.write (ch); 安全系数。写(浅黄色,0,ch);//从第一个一个字节开始,向文件写入ch个字符 } fis.close (); fos.close ();//字符流拷贝//创建一个BufferedReader缓冲对象 BufferedReader br=new BufferedReader(新FileReader (" E:/aaa.txt "));//创建一个BufferedWriter缓冲对象 BufferedWriter bw=new BufferedWriter(新FileWriter (" E:/aaa.bak ")); 字符串str; 在((str=br.readLine ()) !=null){//每次读取一行文本,判断是否到文件末尾 bw.write (str); bw.newLine ();//写入一个换行符,该方法会根据不同的操作系统生成相应的换行符 } br.close (); bw.close (); } }
以上这篇Java读写文件,在文件中搜索内容,并输出含有该内容的所有行方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。