首页>代码>java读取指定格式文件的内容,然后写入到word文档里面去>/scanningFiles/src/com/magustek/service/ShowFileInfo.java
package com.magustek.service;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class ShowFileInfo {    	
private	List<String> list=new ArrayList<String>();
//读取所有的文件
public List<String> fileScan(File file,String postfix){
   File []filen=file.listFiles();
   for(int i=0;i<filen.length;i++)
   {
    if(filen[i].isFile()){   
     if(filen[i].getName().endsWith(postfix)){         //此处可改变
    	
     list.add(filen[i].getPath());
     System.out.println(filen[i].getPath());
     }
    }
    else
     fileScan(filen[i],postfix);
   }
   return list;
   }
//写入到word文档中
public void writeDoc(List<String> list,String outPath)
{
	StringBuffer sb=new StringBuffer();
	System.out.println("共扫描出"+list.size()+"个文件");
	for (int i = 0; i < 10; i++) {
		try{
			File f2=new File(list.get(i).toString());
			BufferedReader br=new BufferedReader(new FileReader(f2));
			String line=br.readLine();
			while(line!=null)
			{
				sb.append(line+"\r\n");
				line=br.readLine();
			}
			File f=new File(outPath); 
			appendLog(f, sb.toString()+"\n\n\n==========================================================");
			br.close();

			}
			catch(Exception e)
			{
			e.printStackTrace();
			}
			sb.replace(0, sb.length(), ""); //清空sb
	}
	System.out.println("写入完成");
}

/**
 * 打印
 * */

public  void appendLog(File log,String newLog)
{
	 Scanner sc=null;
	 PrintWriter pw=null;
	 try{
if(!log.exists())//如果文件不存在,则新建.
{
   File parentDir=new File(log.getParent());
   if(!parentDir.exists())//如果所在目录不存在,则新建.
    parentDir.mkdirs();
   log.createNewFile();
 }
  //把要插入的数据放在sc里面
  sc=new Scanner(log);
  StringBuilder sb=new StringBuilder();
  while(sc.hasNextLine())//先读出旧文件内容,并暂存sb中; 
  {
	   //把要插入的数据加到文件中
   sb.append(sc.nextLine());
  sb.append("\r\n");//换行符作为间隔,扫描器读不出来,因此要自己添加.
  }
  sc.close();
  
  pw=new PrintWriter(new  FileWriter(log),true);
   /*A.*/pw.println(sb.toString());//,写入旧文件内容.
  /*B.*/pw.println(newLog);//写入新内容额


 
 }
 catch(IOException ex)
 {
  ex.printStackTrace();
 }
 finally{
	  pw.close();
 }

}

}
最近下载更多
yjdang  LV3 2023年3月27日
1358849392  LV21 2022年11月11日
奋斗人生 2022年3月11日
暂无贡献等级
hyxhyx1234  LV2 2021年4月18日
yanhongzhi  LV10 2021年2月1日
我是张甜甜啊  LV4 2020年4月3日
764938214  LV7 2019年11月26日
1521912060  LV2 2019年8月15日
644106  LV8 2019年7月5日
wx19941125  LV12 2019年6月25日
最近浏览更多
467277  LV13 3月26日
yjdang  LV3 2023年3月27日
peixizhu  LV16 2023年2月24日
1358849392  LV21 2022年11月11日
最代码-彭小康 2022年7月6日
暂无贡献等级
whfuai  LV14 2022年5月9日
奋斗人生 2022年3月11日
暂无贡献等级
daidai_0924 2021年12月7日
暂无贡献等级
TheEndZld 2021年11月24日
暂无贡献等级
zhangxin_lang 2021年9月22日
暂无贡献等级
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友