تتم الكتابة على الملفات في جافا باستخدام FileOutputStream حيث يتم إنشاء الملف في حال عدم وجوده ثم الكتابة عليه أو الكتابة عليه مباشرة في حال وجوده. أنشئ غرض object من الصف FileOutputStream والذي يحتوي على تعريفين للـ constructor الأول يأخذ معامل وهو اسم الملف المراد الكتابة عليه لإنشاء قناة output stream: OutputStream f = new FileOutputStream("C:/java/hello") المُنشئ الثاني يأخذ متغير من نوع File كمعامل argument لإنشاء قناة output stream: File f = new File("C:/java/hello");
OutputStream f = new FileOutputStream(f);في المثال التالي ستتم الكتابة على الملف الموجود في المسار: C://test/myFile.txtثم القراءة منه وعرض محتوى الملف على java console: import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class FileOutputStreamDemo {
public static void main(String[] args) throws IOException {
FileOutputStream fos = null;
FileInputStream fis = null;
byte[] b = {65,66,67,68,69};
int i=0;
char c;
try{
// create new file output stream
fos=new FileOutputStream("C://test/myFile.txt");
// writes bytes to the output stream
fos.write(b);
// flushes the content to the underlying stream
fos.flush();
// create new file input stream
fis = new FileInputStream("C://test/myFile.txt");
// read till the end of the file
while((i=fis.read())!=-1)
{
// convert integer to character
c=(char)i;
// prints
System.out.print(c);
}
}catch(Exception ex){
// if an error occurs
ex.printStackTrace();
}finally{
// closes and releases system resources from stream
if(fos!=null)
fos.close();
if(fis!=null)
fis.close();
}
}
}ملاحظة: في التعامل مع الملفات يستحسن استخدام try() catch() بل في جافا يجبرك أن تقوم بوضع عملية القراءة والكتابة على الملفات ضمن try() catch(). عند فتح الملف: طباعة محتوى الملف على java console: