阅读 4757 次
发表时间:2008-10-06
假设D:/dir目录下放着100个文件,文件名为:file001.txt,file002,file003.txt......file100.txt。请写一高效程序,将这100个文件的内容按文件名编号顺序合并成一个文件file.txt。

这题的一般思路是:
1、实现filenameFilter接口对文件按编号排序。
2、利用PrintWriter创建file.txt准备写入
3、用bufferedReader依次打开每个文件,然后每读一行,就写入一行。这里不把每个文件内容
存在内存里然后一并写入的目的是防止文件内容过大。

有什么其他更高效的方法吗,比如利用NIO?
发表时间:2008-10-06
hyxw5890 写道

1、实现filenameFilter接口对文件按编号排序。


这个接口可以排序吗??? 建议你好好的去查一下java doc
发表时间:2008-10-06
有文件名直接循环就好了。。。。
发表时间:2008-10-06
1.使用String.format方法格式化得到文件名(从1到100)。
2.BufferedRead和BufferedWriter读写。
发表时间:2008-10-07
开个玩笑....
Process process = Runtime.getRuntime().exec("cmd /c type file*.txt > file.txt ");
发表时间:2008-10-07
`cat *.txt > file.txt`
发表时间:2008-10-08
用命令行做可以

但是有排序文件吗?
Global site tag (gtag.js) - Google Analytics