1)程序必须打印文件中的文本:
让我们调用这个文件,dataFile.text或dataFile.dat(任何一种方式都有效)
假设客户端将输入任何文件,我们必须获取文件名......
这些 Java 语句可以解决问题:
// 创建一个扫描器来读取用户的文件名
扫描仪用户输入 = 新扫描仪(System.in);
// 向客户端请求文件名
System.out.println("请输入输入文件名:");
// 获取客户端文件名
字符串文件名 = scanFile.nextLine();
// scanFile,扫描新的File fileName(客户端的文件),位于src目录下。“src/”代表文件(客户端文件)的路径。
扫描仪 scanFile = new Scanner(new File("src/" + fileName));
- 由于问题表明文件“将与程序位于同一目录中”,因此这不是问题。
-------------------------------------------------- -------------------------------------------
2)问题是我将其编码为从特定文件中读取文本
更正:文件 file = new File("src/" + fileName);
扫描仪输入文件 = 新扫描仪(文件);// 将扫描所有文件的数据
更正了更多:Scanner inputFile = new Scanner(new File("src/" + fileName));
-------------------------------------------------- -------------------------------------------
3)程序必须打印文件中的文本
- 现在要将文件中的数据项打印到控制台,您只需将文件中的每个项复制到数组、列表或树中,具体取决于实现规范,但这显然是初学者编程,所以不要介意列表和树,使用数组。
所以你已经完成了 #1 中的 Scanner scanFile 或 #2 中的 Scanner inputFile
现在,创建一个数组,显然数组的类型将基于文件中数据项的类型......字符串用于(例如,月份名称)或 int 用于(例如,ID 号......等)
假设文件中的数据项是月份的名称(jan、feb、march),我们将创建一个 String 类型的数组。
字符串[] 文件数据 = 新字符串 [100]; // 具有随机长度 (100)
// 现在我们将把文件中的每个项目复制到数组中,您需要占位符值来跟踪文件项目的遍历(在每个项目处停止)期间的位置。
诠释 i = 0; // 初始化遍历的开始(文件项的索引 0)
while (scanFile.hasNextLine()) { // 当文件在下一行有输入时,从文件中读取。
fileData[++i] = scanFile.nextLine(); // Input file data and increment i
System.out.println(fileData[i]); // Prints all of the file's data items
} // end while
尊敬的,-!di0m