日期:2014-05-20  浏览次数:20684 次

求助一个文件内容解析的问题
我现在要读取一些文件.这些文件的特点是内容相同,但内容前的标识不同.

比如文件A,%A   Tom           //用%A表示接下来的内容是作者
  %D   2007         //用%D表示接下来的内容是日期

        文件B,A1     -   Tom         //用A1表示接下来的内容是作者
  Y1     -   2007       //用Y1表示接下来的内容是日期
我想知道如何写一个程序能够把这些不同标识所表示的内容读取出来,然后返回一个文件,里面的标识由我自己定义(内容仍然不变).
还有一点,这些被读取的文件都没有扩展名.
如果觉得写程序麻烦的话,给我点提示也可以,要用到哪些类,我现在一点头绪都没有,谢谢.

------解决方案--------------------
没什么,就是查找符号
得到String后,查找 "%A ",找到后从下个字母到第一个空格之间的内容取出用来就是作者

如果文件不是很长,格式也一定,可以通过String.split()方法按照空格组成String[],然后遍历。
如str[10].equals( "%A "),那么str[11]就是作者
------解决方案--------------------
嗯,就是字符匹配的问题了。

用到的类应该输入输出流比如FileReader,FileWriter,String,加上正则表达式(用这个可能会比较方便)

具体逻辑就要具体分析你所有文件的特点找出共通点了。比如按你说的可以考虑把%A,A1,Y1这些标示符存到数组或者profile文件,然后做循环遍历你的所有要处理的文件。(效率问题也要看你的文件是怎么样的看有没有好的匹配方法了)
------解决方案--------------------
使用apche的oro包