Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/340.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_Class_Methods - Fatal编程技术网

Java 如何在另一个类的类内执行方法?

Java 如何在另一个类的类内执行方法?,java,class,methods,Java,Class,Methods,请参阅下面名为StringToFile的类文件。我只想使用另一个类文件在StringToFile中调用一个方法。谁能做到这一点 package StringToFile; import java.io.IOException; import java.nio.charset.Charset; import java.nio.file.Files; import java.nio.file.Paths; import java.util.List; public class StringToFi

请参阅下面名为StringToFile的类文件。我只想使用另一个类文件在StringToFile中调用一个方法。谁能做到这一点

package StringToFile;
import java.io.IOException;
import java.nio.charset.Charset;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.List;

public class StringToFile {
    public static void main(String[] args) throws IOException {
    }
    public static void write() throws IOException {
        String msg = "hello you\nthis is just a test\n";
        Files.write(Paths.get("./duke.txt"), msg.getBytes());
    }
    public static void read() throws IOException {
        List < String > lines = Files.readAllLines(Paths.get("./duke.txt"), Charset.defaultCharset());
        for (String line: lines) {
            System.out.println("line read: " + line);
        }
    }
}
package-StringToFile;
导入java.io.IOException;
导入java.nio.charset.charset;
导入java.nio.file.Files;
导入java.nio.file.path;
导入java.util.List;
公共类字符串文件{
公共静态void main(字符串[]args)引发IOException{
}
公共静态void write()引发IOException{
String msg=“您好\n这只是一个测试\n”;
write(path.get(“./duke.txt”)、msg.getBytes();
}
公共静态void read()引发IOException{
Listlines=Files.readAllLines(path.get(“./duke.txt”)、Charset.defaultCharset();
用于(字符串行:行){
System.out.println(“行读取:”+行);
}
}
}

如果我理解正确,您希望在另一个类中导入StringToFile,并在那里使用它的静态方法。如果是这样,那么
在另一个类中,您将
导入StringToFile.StringToFile
,以获得该类的可见性。然后,您可以通过
StringToFile.write()
StringToFile.read()

调用它的静态方法,就像普通方法一样。每当您使用另一个类的方法时,您都会创建该类的实例

ClassExample class = new ClassExample();
class.myMethod();
并从该类调用您的方法

ClassExample class = new ClassExample();
class.myMethod();
但是,如果类包含静态方法,则可以通过静态修饰符访问它

ClassExample.myMethod();

我只想补充一点,调用方法必须捕获或重试IOException。这就是我得到的错误。“错误:未报告的异常IOException;必须捕获或声明为抛出StringToFile.write();我使用以下代码来解决IOException:try{StringToFile.read();}catch(IOException e){//此处处理IOException的代码}”现在我明白了:错误:在类中找不到Main方法,请将Main方法定义为:public static void Main(String[]args)不确定该做什么?处理异常的方式很好。现在得到的异常是,IDE找不到Main方法(程序启动后查看的第一个方法)。如果您已准备好在另一个类中使用main方法,请在运行代码之前尝试选择正确的类。如果没有,请添加:public static void main(String[]args){}作为类中的一个方法。你好,Aaron。你是对的。我有另一个类是main。我试图让StringToFile类从另一个类运行,但没有运气。你说“如果你在另一个类中已经有一个main方法,请在运行代码之前尝试选择正确的类,这是什么意思?”。“通过别人的评论进行交流是一种自命不凡的愚蠢行为,所以我直接和你交谈。我刚刚读了你关于你的问题的第二篇文章,我得到了两个简单的方法,可以将字符串保存并加载到.txt文件中。如果你感兴趣,我可以把它们贴出来帮你。是的,那会很有帮助的,先生。非常感谢。我最感兴趣的是查看如何加载和保存字符串的代码。我还有一个问题。我有一个java游戏正在运行,它启动了一个用Visual Basic编写的小游戏。无论玩家是赢还是输,VB游戏都会写入txt文件。1代表胜利,0代表失败。问题是主游戏和小游戏同时运行。当我不知道VB游戏何时完成并编写代码字符串时,您如何让Java打开VB游戏编写的txt文件?