本帖最后由 iFmmer 于 2015-6-23 20:19 编辑
- import java.io.*;
- //统计文件字符数代码
- public class testFileSelect {
- public static void main(String args[]){
- File file = new File("D:\\Workspaces\\MyEclipse 10\\test233\\src\\testText.txt");
- int sum;
- sum = fileLength(file);
- System.out.println(sum);
-
- }
- //统计函数
- static int fileLength(File file){
- String line = null;
- int num = 0;
- BufferedReader br = null;
- BufferedWriter bw = null;
- try{
- br = new BufferedReader(new FileReader(file));
- //没有删除这句和与其相关联的代码,文件会被覆盖。
- bw = new BufferedWriter(new FileWriter(file));
- char temp[] = new char[1024];
- while(br.read()!=-1){
- num++;
- }
- }catch(IOException e){
- e.printStackTrace();
- }finally{
- try {
- if(br!=null)
- br.close();
- } catch (IOException e) {
- throw new RuntimeException("关闭输入流失败");
- }
- try{
- if(bw!=null)
- bw.close();
- } catch(IOException e){
- throw new RuntimeException("关闭输出流失败");
- }
- }
- return num;
- }
- }
复制代码
不知道为什么 去掉了Writer之后文件就没有问题了,带着Writer的时候,程序运行结果为0,文件内容也没了。
是因为其中的某个类的某个函数会让文件内容清空吗?我记得老师讲过类似的东西,但是我忘记是那个东西了,求解!
|