Я знаю, что есть много вопросов, связанных с этим, но я все еще не следую.Я скопировал приведенный ниже код из учебника о том, как создавать, записывать и читать из файла.Существует класс CreateFile
, класс ReadFile
и класс Demo
:
CreateFile.java
import java.io.*;
import java.lang.*;
import java.util.*;
public class CreateFile {
private Formatter x;
public void openFile(){
try{
x = new Formatter("chinese.txt");
}
catch(Exception e)
{
System.out.println("You have an error");
}
}
public void addRecords(){
x .format("%s%s%s", "20 ", "bucky ", "robers");
}
public void closeFile(){
x.close();
}
}
ReadFile.java
public class ReadFile {
private Scanner x;
public void openFile()
{
try{
x = new Scanner(new File("words.txt"));
}
catch(Exception e){
System.out.println("could not find file");
}
}
public void readFile()
{
while(x.hasNext())
{
String a = x.next();
String b = x.next();
String c = x.next();
System.out.printf("%s %s %s\n", a,b,c);
}
}
public void closeFile()
{
x.close();
}
}
public class Demo {
public static void main(String[] args) {
CreateFile g = new CreateFile();
g.openFile();
g.addRecords();
g.closeFile();
WordCounter r = new WordCounter();
r.openFile();
r.readFile();
r.closeFile();
}
В Demo.java
, если я удаляю последние четыре оператора, относящиеся к чтению файла, первые четыре оператора, относящиеся к открытию и записи в файл, запускаются без ошибок.Однако, как только я добавляю
WordCounter r = new WordCounter();
r.openFile();
r.readFile();
r.closeFile();
и запускаю программу, она выдает: Exception in thread "main" could not find file.
Я не уверен, что происходит, файл chinese.txt
никогда не создается?