1.假设有一个txt文档 里面内容为一些文件的完整目录 ,求找出里面出现重复的目录
2.假设有一个txt文档 里面内容为一些文件的完整目录,根据目录获取文件,如何在那些文件内容尾部批量加上一些空格进行批量修改
2.假设有一个txt文档 里面内容为一些文件的完整目录,根据目录获取文件,如何在那些文件内容尾部批量加上一些空格进行批量修改
解决方案 »
- 都报这个错。
- 麻烦解释下digester解析代码
- 在spring里一个service 类中有多个dao,是否会影响性能?
- 单选框问题web
- java调用dll问题???
- struts 中配置 DataSource 出错
- 字符变量的过滤问题
- 如何在jboss里配置datasource connectionpool 望高手执教 我用的是mysql
- 有做过pure java (纯java)的朋友么?给点参考经验阿 谢谢了
- 用jbuilder开发部署ejb,需要将项目建在特定的目录下吗?
- Axis2项目部署到weblogic10上报org.apache.axis2.webapp.AxisAdminServlet
- jtable问题,来大牛解决了啊【急求】分不是问题
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStreamReader;
import java.io.PrintStream;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;public class FindRepeatFile { private List<String> loadTxt(String pathName) throws Exception{
File file = new File(pathName);
if(file.exists()) {
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(file)));
List<String> list = new ArrayList<>();
String str = null;
while((str = br.readLine()) != null) {
list.add(str);
}
br.close();
return list;
}
return null;
}
private Set<String> getRepeatFile(List<String> list) {
if(list != null) {
Set<String> set = new HashSet<>();
for(int i=0; i<list.size(); i++) {
String str = list.get(i);
for(int j=i+1; j<list.size(); j++) {
if(str.equalsIgnoreCase(list.get(j))) {
set.add(str);
}
}
}
return set;
}
return null;
}
public final static String UPDATE_CONTENT = "hello world!";
private void updateFiles(List<String> list) throws Exception{
if(list == null)
return;
for(String l: list) {
File file = new File(l);
if(file.exists()) {
PrintStream out = new PrintStream(new FileOutputStream(file, true));
out.println(UPDATE_CONTENT);
out.close();
}
}
}
public Set<String> getRepeatFile(String pathName) {
try {
List<String> list = loadTxt(pathName);
return getRepeatFile(list);
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
public void updateFiles(String pathName) {
try {
List<String> list = loadTxt(pathName);
updateFiles(list);
} catch (Exception e) {
// TODO: handle exception
}
}
public static void main(String[] args) {
FindRepeatFile frf = new FindRepeatFile();
// Set<String> set = frf.getRepeatFile("E:\\test\\aaaa.txt");
// for(String s: set) {
// System.out.println(s);
// }
frf.updateFiles("E:\\test\\aaaa.txt");
}
}
(2)把文本内容搞到输入流,在输入流加几个空格,再重新写入.
2)读文件再写文件
不知可行否?
虽然,io读写操作是java的基础部分,所以我也只有用嘴说说了。第一个要求,说白了就是字符串的拆分。java中的拆分无非就几个方法的组合应用。indexOf、substring、split等。
真对你的第一个找出重复的目录,我的思路会是先根据你txt内容规则进行拆分一下, 使用map取出重复,然后使用indexOf和lastIndexOf判读重复,出现的位置一样就是唯一的,否则就是有重复。第二个要求,就是java读写文件,google一下代码,一大堆,甚至好多拷贝过来了就能用。根据拆分出来的目录读、写,在写入的结束时添加一点你自己的内容,这样就成了修改。