gpt4 book ai didi

java - 使用 .getName 打印文件名

转载 作者:行者123 更新时间:2023-12-01 09:47:52 26 4
gpt4 key购买 nike

所以我只是不确定如何使用这个方法。我有一个程序可以打印单词、字符和行的计数,但我还希望它在输出此信息之前说出文件名。我已经查看了这方面的信息,但我不确定如何用我的程序来实现这一点。

package practicefiles;

import java.lang.*;
import java.io.*;
import java.util.*;

public class PracticeFiles {

public static void main(String[] args) throws Exception {
int charCount = 0;
int wordCount = 0;
int lineCount = 0;
String count;
StringTokenizer st;
BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
System.out.print("Enter file: ");
count = buf.readLine();
buf = new BufferedReader(new FileReader(count));
while ((count = buf.readLine()) != null) {
lineCount++;
st = new StringTokenizer(count, " ,;:.");
while (st.hasMoreTokens()) {
wordCount++;
count = st.nextToken();
charCount += count.length();
}
}
// String fileName = count.getName();
System.out.println("Character Count : " + charCount);
System.out.println("Word Count : " + wordCount);
System.out.println("Line Count : " + lineCount);
buf.close();
}
}

总结:请求文件,用户输入文件,打印出字符、单词和行数。想在此之前打印出文件名。

最佳答案

您不能使用 count.getName();,因为 count 是一个 String 而不是 File

当您创建 BufferedReader 时,您为其提供一个 FileReader,当您创建该 FileReader 时,您为其提供您要打开的文件的路径。

如果您想稍后引用该文件,那么您需要创建一个存储它的变量。

文件 inputFile = new File(count);

那么当你制作BufferedReader时,你可以使用
buf=new BufferedReader(new FileReader(inputFile));

当您想获取文件的名称时,您可以使用inputFile.getName();

关于java - 使用 .getName 打印文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37836817/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com