Java 创建、写入和读取文件
我知道与此相关的问题很多,但我仍然不明白。我从关于如何创建、写入和读取文件的教程中复制了以下代码。有一个CreateFile类、一个ReadFile类和一个Demo类:Java 创建、写入和读取文件,java,file,Java,File,我知道与此相关的问题很多,但我仍然不明白。我从关于如何创建、写入和读取文件的教程中复制了以下代码。有一个CreateFile类、一个ReadFile类和一个Demo类: WordCounter r = new WordCounter(); r.openFile(); r.readFile(); r.closeFile(); CreateFile.java import java.io.*; import java.lang.*; import java.util.*; public clas
WordCounter r = new WordCounter();
r.openFile();
r.readFile();
r.closeFile();
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();
}
}
WordCounter r = new WordCounter();
r.openFile();
r.readFile();
r.closeFile();
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();
}
WordCounter r = new WordCounter();
r.openFile();
r.readFile();
r.closeFile();
在Demo.java中,如果删除与读取文件相关的最后四条语句,则与打开和写入文件相关的前四条语句将正常运行。然而,一旦我补充
WordCounter r = new WordCounter();
r.openFile();
r.readFile();
r.closeFile();
并运行该程序,它输出:异常在线程主找不到文件。我不知道发生了什么,是否从未创建过chinese.txt文件 我建议您研究序列化,它比写入.txt文件简单得多
WordCounter r = new WordCounter();
r.openFile();
r.readFile();
r.closeFile();
但是如果你真的需要写.txt文件,这就是你写.txt文件的方式
WordCounter r = new WordCounter();
r.openFile();
r.readFile();
r.closeFile();
//This gets your project directory
private String projectPath = System.getProperty("user.dir");
//call save()
String save("test.txt", "This is will be save to a test.txt file");
private boolean save(String textfile String outputtext){
String filepath = projectPath + textfile;
try{
BufferedWriter writer = new BufferedWriter(new FileWriter(filepath));
writer.write(outputtext);
writer.close();
} catch(IOException e) { }
return true;
}
这就是你读它的方式
WordCounter r = new WordCounter();
r.openFile();
r.readFile();
r.closeFile();
private String load(String textfile){
String temp="";
String filepath = projectPath + textfile;
try{
BufferedReader reader =new BufferedReader(new FileReader(filepath));
while(true){
//this will read one line at a time you can append it output
try {
temp+= reader.readLine();
//If no more lines break out of the loop
if(line==null)
break;
}catch(IOException e){}
}
reader.close();
}
catch(IOException e){}
//Return contents of the file you loaded
return temp;
}
我希望这个代码足够清晰。如果你还有任何问题,请告诉我。我很乐意回答。仔细阅读代码:ReadFile是从哪个文件读取的?@JBNizet我觉得我在这个网站上的问题有一半都是愚蠢的错误。。。谢谢。因此,代码不会编译,并且表现出许多糟糕的实践。它不会编译,因为它只是更大项目的一部分。我只是从我的一份作业中抄来的。它应该很好用。对我来说是的。
WordCounter r = new WordCounter();
r.openFile();
r.readFile();
r.closeFile();