Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在java中管理文件读取、保存、写入_Java_File_Io - Fatal编程技术网

在java中管理文件读取、保存、写入

在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

我想为一个类编写一个通用方法readfile(),以便在子类上使用它来读取所有行

我不知道如何从一个类调用另一个类的方法

首先,设置void readfile()是否更好? 还是返回文件

第二,从其他类重用的方法是什么

我的代码示例:

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);