在java中管理文件读取、保存、写入
我想为一个类编写一个通用方法readfile(),以便在子类上使用它来读取所有行 我不知道如何从一个类调用另一个类的方法 首先,设置void readfile()是否更好? 还是返回文件 第二,从其他类重用的方法是什么 我的代码示例:在java中管理文件读取、保存、写入,java,file,io,Java,File,Io,我想为一个类编写一个通用方法readfile(),以便在子类上使用它来读取所有行 我不知道如何从一个类调用另一个类的方法 首先,设置void readfile()是否更好? 还是返回文件 第二,从其他类重用的方法是什么 我的代码示例: public class Reader{ Scanner myReader = new Scanner(myObj); public void readFile(){ File myObj = new File("filename
public class Reader{
Scanner myReader = new Scanner(myObj);
public void readFile(){
File myObj = new File("filename.txt");
Scanner myReader = new Scanner(myObj);
while (myReader.hasNextLine()) {
String data = myReader.nextLine();
System.out.println(data);
}
}
}
public class ReadContentOfFile extends Reader{
public List<String> parseFile{
List<String> name = new ArrayList<>();
//how to get lines? as I have them, from
another method?
//for example If I want to get the
words,separated, by comma
return name;
}
}
public void Main(){
}
公共类读取器{
扫描仪myReader=新扫描仪(myObj);
公共void readFile(){
File myObj=新文件(“filename.txt”);
扫描仪myReader=新扫描仪(myObj);
while(myReader.hasNextLine()){
String data=myReader.nextLine();
系统输出打印项次(数据);
}
}
}
公共类ReadContentOfFile扩展了Reader{
公共列表解析文件{
列表名称=新的ArrayList();
//如何获取线路?正如我所知,从
另一种方法?
//例如,如果我想得到
用逗号分隔的单词
返回名称;
}
}
公共图书馆{
}
例如,对于文件的每一行,如何获取每个元素。
我的问题是如何获取另一个方法、另一个类的数据
首先,设置void readfile()是否更好?还是返回文件
取决于您想要对输出执行的操作,因为您正在将内容打印到console,所以您不必返回文件,void也可以。
但是,如果您想在调用readFile
方法后使用此文件,则必须将其返回或设置为class member
第二,从其他类重用的方法是什么?
将您的方法设置为静态,这样您就可以在不创建对象的情况下访问它,因为它只是一个实用工具,而对象在这里并不重要
那就做吧
Reader.readFile()
请不要使用扫描仪读取文件,有更简单更好的选择 首先,一个
文件本身就是一个引用,它不包含任何内容
与系统上的文件相关。因此,您可以考虑只返回文件对象,如果您可能需要从文件系统中获取有关特权、存在、执行删除操作或检索路径信息的信息。p>
通常,当我编写读取()或保存()文件的方法时,我会使它们无效
关于如何读取和访问数据,在java中有很多可能性
我将向您展示一个非常简单的例子:
List<String> lines = Files.readAllLines(Paths.get("filename.txt"), StandardCharsets.UTF_8);
List lines=Files.readAllLines(path.get(“filename.txt”)、StandardCharsets.UTF_8);
就是这样,但是还有更多的选择。您一直在调用其他类中的方法,例如Scanner
是另一个类,您正在调用它的方法。你遇到的是一个设计问题。您已将类命名为ReadContentOfFile
,这是一个动作,但类不是动作。方法可以看作是行动。您可能需要仔细阅读,因为它涵盖了基本I/O和许多其他内容。扩展读取器
也没有意义。
List<String> lines = Files.readAllLines(Paths.get("filename.txt"), StandardCharsets.UTF_8);