12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- package J20250804.demo01;
- import java.io.BufferedReader;
- import java.io.File;
- import java.io.FileReader;
- import java.util.concurrent.Callable;
- /**
- * @author WanJl
- * @version 1.0
- * @title FileStatTask
- * @description
- * @create 2025/8/4
- */
- public class FileStatTask implements Callable<FileStat> {
- //创建一个文件对象,用来方便后续操作这个文件,获取文件名、字符数,行数
- private File file;
- public FileStatTask(File file) {
- this.file = file;
- }
- @Override
- public FileStat call() throws Exception {
- //字符数量
- int charCount=0;
- //行数
- int lineCont=0;
- //缓冲流-里面包着字符输入流
- BufferedReader br=new BufferedReader(new FileReader(file));
- //每一行的字符串
- String line;
- while((line=br.readLine())!=null){
- //行数++
- lineCont++;
- //每行的字符数量累计到总数
- charCount+=line.length();
- //每行的换行符也算一个字符
- charCount++;
- }
- return new FileStat(file.getName(),charCount,lineCont );
- }
- }
|