问题描述
好吧,我是Java的新手,正在尝试开发一个应用程序来教自己如何使用该语言。
我一直在复制和粘贴相同的几行代码,而且我知道有一种方法可以将其合并为一个函数,但不能完全弄清楚。
FileOutputStream fout4 = openFileOutput("building1hourly.txt", MODE_WORLD_READABLE);
OutputStreamWriter osw4 = new OutputStreamWriter(fout4);
osw4.write("" +iHourlyAfter);
osw4.flush();
osw4.close();
现在没有某种方式可以做这样的事情
public void writerFunction("What to write to file", "name stream", "name writer", "MODE"){insert above code here}
1楼
是的,一点没错:
public void writeToFile(String fileName, String contents, int mode) throws IOException {
FileOutputStream fout = openFileOutput(fileName, mode);
OutputStreamWriter osw = new OutputStreamWriter(fout);
osw.write(contents);
osw.flush();
osw.close();
}
2楼
首先,到目前为止,做得很好。 学习编程就像学习数学一样(除了更有趣),您可以在一本书中阅读所有想要的内容,但是直到您真正理解概念后,您才真正理解它们。 您正在按照正确的方式进行操作。
现在,回答您的问题:是的,您可以将写入文件的过程封装在一个函数中。
我们称它为writeToFile
。
您想通过发送参数来“调用”此函数。
参数是函数完成其工作所需的信息。
函数有两个方面: 声明和调用 。
就像在数学中一样,您可以定义一个函数f(x)
,其中f
做一些事情。
例如:说我有函数f(x) = 2x - 4
。
该方程式就是我们所谓的函数声明,因为我们定义了f
所做的事情,而您正在定义f
接受的参数 ,即单个值x
。
然后,您想将该函数应用于某个值x
,因此您可以执行以下操作: f(4)
。
这是函数调用 。
您正在调用或调用该函数,并发送4
作为参数 。
调用函数的代码称为调用方 。
让我们从要构建的函数的声明开始:
public void writeToFile (String data, String fileName)
该函数在其签名中定义了两个参数。
它需要一个String
其中包含您将写入文件的data
,以及我们将data
写入其中的fileName
。
void
表示此函数不会将任何数据返回给调用方。
完整功能,您在帖子中提供的主体:
public void writeToFile (String data, String fileName){
FileOutputStream fout4 = openFileOutput(fileName, MODE_WORLD_READABLE);
OutputStreamWriter osw4 = new OutputStreamWriter(fout4);
osw4.write("" +iHourlyAfter);
osw4.flush();
osw4.close();
}
现在,您将要在代码中的其他地方调用或调用此函数。 您可以这样做:
writeToFile("stuff I want to write to a file", "myFile.txt");