Java 中的 file output stream
哎哎哎:# t0]https://www . geeksforgeeks . org/file output stream-in-Java/
文件输出流是用于将数据/原始字节流写入文件或将数据存储到文件的输出流。文件输出流是输出流 的子类。要将基元值写入文件,我们使用 FileOutputStream 类。对于写面向字节和面向字符的数据,我们可以使用 FileOutputStream,但是对于写面向字符的数据,更倾向于 FileWriter 。
将数据存储到文件是什么意思?
通过上面的图片,我们可以理解,当我们运行 java 程序时,数据存储在 ram 中。现在,假设变量数据存储在内存中,我们希望访问该数据,并将其带到硬盘中的一个文件中。因此,我们将在内存中创建一个输出流对象,它将指向一个引用硬盘的文件。
现在,来自内存中的可变数据文件的数据将进入引用文件(输出流的对象),并从那里传输/存储在硬盘的文件中。
文件输出流的层次结构
文件输出流的构造函数
1。文件输出流(文件文件):创建一个文件输出流,写入由指定文件对象表示的文件。
FileOutputStream 错误 = 新的 FileOutputStream(File file);
2。文件输出流(文件文件,布尔追加):创建由指定文件对象表示的文件输出流对象。
fileoutput stream fout = new file output stream(file,boolean append);
3。file outputstream(file descriptor FD obj):创建一个文件输出流,用于写入指定的文件描述符,该描述符表示与文件系统中实际文件的现有连接。
fileoutput stream fout = new file output stream(file describe fdobj):
4。文件输出流(字符串名称):创建一个文件输出流的对象,用提到的特定名称写入文件。
FileOutputStream 错误 = 新的 FileOutputStream(字符串名称);
5。文件输出流(字符串名称,布尔追加):创建一个文件输出流对象,用指定的名称写入文件。
fileoutput stream fout = new file output stream(string name,boolean append);
申报:
public class FileOutputStream extends OutputStream
使用文件输出流将数据写入文件的步骤:
- 首先,将文件路径附加到文件输出流,如下所示:
FileOutputStream fout = new FileOutputStream(“file1.txt”);
- 这将使我们能够将数据写入文件。然后,要将数据写入文件,我们应该使用 FileOutputStream 作为,
fout.write();
- 然后我们应该调用 close()方法来关闭 fout 文件。
fout.close()
示例:
我们需要导入 java.io 包来使用 FileOutputStream 类。
Java 语言(一种计算机语言,尤用于创建网站)
// java program to use FileOutputStream object for writing
// data
import java.io.*;
class FileExample {
public static void main(String[] args)
throws IOException
{
int i;
// create a fileoutputstream object
FileOutputStream fout = new FileOutputStream("../files/name3.txt",
true);
// we need to transfer this string to files
String st = "TATA";
char ch[] = st.toCharArray();
for (i = 0; i < st.length(); i++) {
// we will write the string by writing each
// character one by one to file
fout.write(ch[i]);
}
// by doing fout.close() all the changes which have
// been made till now in RAM had been now saved to
// hard disk
fout.close();
}
}
数据(即字符串 TATA 将被传输到文件中。
运行程序前
运行程序后
创建 myfile.txt 文件,并将文本“TATA”保存在文件中。
一些重要的方法
1。 写()法:
- write() :这将单个字节写入文件输出流。
- 写入(字节[]数组):这将指定数组的字节写入输出流。
- write(byte[] array,int start,int length) :这将等于 length 的字节数写入从位置 start 开始的数组的输出流。
示例:
Java 语言(一种计算机语言,尤用于创建网站)
// java program to write data to file
import java.io.FileOutputStream;
import java.util.*;
public class Main {
public static void main(String[] args)
{
String data = "Welcome to GfG";
try {
FileOutputStream output
= new FileOutputStream("output.txt");
// The getBytes() method used
// converts a string into bytes array.
byte[] array = data.getBytes();
// writing the string to the file by writing
// each character one by one
// Writes byte to the file
output.write(array);
output.close();
}
catch (Exception e) {
e.getStackTrace();
}
}
}
When we run the program, the "Welcome to GfG" line is copied to output.txt file.
2。 同花顺():
为了清除输出流,我们使用 flush()方法。此方法强制将所有数据存储到其目的地。
示例:
Java 语言(一种计算机语言,尤用于创建网站)
// java program to show the usage of flush() method
import java.io.FileOutputStream;
import java.io.IOException;
public class Main {
public static void main(String[] args)
throws IOException
{
FileOutputStream out = null;
String data = "Welcome to GfG";
try {
out = new FileOutputStream(" flush.txt");
// Using write() method
out.write(data.getBytes());
// Using the flush() method
out.flush();
out.close();
}
catch (Exception e) {
e.getStackTrace();
}
}
}
If, we run the program, the file flush.txt is filled with the text of the string"Welcome to GfG"
3。 合()法 :
此方法关闭文件输出流。一旦它被调用,我们就不能使用其他方法。
文件输出流的方法
| 方法 | 描述 | | --- | --- | | 无效关闭() | 它关闭文件输出流。 | | 受保护的 void finalize() | 它用于清理与文件输出流的所有连接,并最终确定数据。 | | FileChannel getChannel() | 返回与此文件输出流关联的唯一文件通道对象。 | | FileDescriptor getFD() | 它返回与流相关联的文件描述符。 | | 无效写入(int b) | 它用于将指定的字节写入文件输出流。 | | 无效写入(字节[] arr) | 它用于将 arr[]字节的数据写入文件输出流。 | | 无效写入(字节[] ary,int off,int len) | 它用于从起始位置开始,将等于长度的字节数写入数组的输出流。 |OutputStream 类中声明的方法
| 方法 | 描述 | | --- | --- | | 齐平() | 此方法强制将输出流中的所有数据写入目标(硬盘)。 | | nullOutputStream() | 这个方法返回一个新的输出流,丢弃所有字节。返回的流最初是打开的。 |参考:https://docs . Oracle . com/en/Java/javae/11/docs/API/Java . base/Java/io/file output stream . html
版权属于:月萌API www.moonapi.com,转载请注明出处