标签:
为了简化工作,避免手工操作,写了一个读取文件中字符串的小工具类
如果你想获取文件中字符串的内容(例如 XXX ="123" 得到 123)可以使用本工具
public static void main(String[] args) { new SubStringInFile().readAndWrite(); } /* * 读取文件,将字符串("abc"中abc)取出至文件 * 同行中去重 * */ public void readAndWrite(){ FileReader fr = null; FileWriter fw = null; BufferedReader br = null; BufferedWriter bw = null; try { File inFile = new File("original.txt"); fr = new FileReader(inFile); br = new BufferedReader(fr); File outFile = new File("subFile.txt"); fw = new FileWriter(outFile); bw = new BufferedWriter(fw); String str = ""; while((str=br.readLine()) != null){ List<Integer> index = new ArrayList<Integer>(); //搜索 " add("的位置) for(int i=0;i<str.length();i++){ String ch = str.charAt(i)+""; if("\"".equals(ch)){ index.add(i); } } StringBuffer sb = new StringBuffer(); //截取""中的内容,同行中去重 for (int i = 0; i < index.size(); i += 2) { int begin = index.get(i); int end = index.get(i+1); String temp = str.substring(begin+1, end); String[] sbs = sb.toString().split(" "); for (String s : sbs) { if(s.equals(temp)){ temp = ""; } } sb.append(temp+" "); } bw.write(sb.toString()); bw.newLine(); bw.flush(); } bw.close(); br.close(); } catch (Exception e) { e.printStackTrace(); } }
例如有以下代码 想直接到数据库中执行,查看结果
sb.append("select count(id) "); sb.append("from table_a where 1=1 ");
将其放入项目根目录下的 original.txt中
执行程序 结果在subFile中
程序还是很简单的,支持同行中简单的去重
可以根据自己的需要来更改
比如通过stringbuffer 来将文件中字符串拼接在一起 等等
标签:
原文地址:http://www.cnblogs.com/JaryH/p/4764612.html