오라클자바커뮤니티에서
설립한 오엔제이프로그래밍 실무교육센터
(오라클SQL, 튜닝, 힌트,자바프레임워크,
안드로이드, 아이폰, 닷넷 실무전문 강의)
length() : 파일의
길이
getFilePointer() : 현재 포인터의 위치
seek() : 포인터 위치 설정
readBoolean(), readByte(),readChar(), readShort(), readLong(), readInt(),
readFloat(),readDouble(), readLine(), readUTF() : 해당타입의 데이터 읽기
writeBoolean(), writeByte(),writeChar(), writeShort(), writeLong(),
writeInt(), writeFloat(), writeDouble(), writeUTF() : 해당타입의 데이터 쓰기
close()
: 파일 닫기
import java.io.*; class RandomTest { public static void
main(String[] args) throws IOException { RandomAccessFile raf=new
RandomAccessFile("test.txt","rw");
raf.seek(raf.length()); raf.writeUTF("The end"); raf.close(); } }
----------------
메모장 – 예제
----------------
import
java.awt.*;
import java.awt.event.*;
import java.io.*;
class NotePad
extends Frame implements ActionListener {
TextArea text = null;
String
filename = null;
public NotePad(String title) {
super(title); //
set title
MenuBar menuBar=new MenuBar();
Menu fileMenu = new
Menu("File");
menuBar.add(fileMenu);
MenuItem openItem = new
MenuItem("Open...", new MenuShortcut('O'));
openItem.setActionCommand("Open"); // for getActionCommand
openItem.addActionListener(this);
fileMenu.add(openItem);
MenuItem saveItem = new MenuItem("Save", new MenuShortcut('S'));
saveItem.setActionCommand("Save"); // for getActionCommand
saveItem.addActionListener(this);
fileMenu.add(saveItem);
MenuItem saveasItem = new MenuItem("Save As...", new MenuShortcut('V'));
saveasItem.setActionCommand("SaveAs"); // for getActionCommand
saveasItem.addActionListener(this);
fileMenu.add(saveasItem);
fileMenu.addSeparator();
MenuItem exitItem = new MenuItem("Exit", new
MenuShortcut('X'));
exitItem.setActionCommand("Exit"); // for
getActionCommand
exitItem.addActionListener(this);
fileMenu.add(exitItem);
setMenuBar(menuBar);
text = new
TextArea();
add(text, "Center");
addWindowListener(new WindowAdapter() {
public void
windowClosing(WindowEvent we) {
dispose();
System.exit(0);
}
});
setSize(500, 400);
setVisible(true);
}
public static void main(String args[]) throws
Exception {
new NotePad("Simple NotePad...");
}
public void
actionPerformed(ActionEvent e) {
String cmd=e.getActionCommand();
if (cmd.equals("Exit"))
System.exit(0);
else if
(cmd.equals("Open")) {
FileDialog dialog=new FileDialog(this, "Text
File Open", FileDialog.LOAD);
dialog.show(); // file dialog is modal
String filename=dialog.getFile();
if (filename !=
null) {
String directory=dialog.getDirectory();
if (directory != null)
filename=directory+filename;
loadFile(filename);
}
}
else if
(cmd.equals("Save")) {
if (this.filename != null)
saveFile(this.filename);
else {
FileDialog
dialog=new FileDialog(this, "Text File Save", FileDialog.SAVE);
dialog.show(); // file dialog is modal
String
filename=dialog.getFile();
if (filename != null) {
String directory=dialog.getDirectory();
if (directory
!= null)
filename=directory+filename;
saveFile(filename);
}
}
}
else
if (cmd.equals("SaveAs")) {
FileDialog dialog=new FileDialog(this,
"Text File Save", FileDialog.SAVE);
dialog.show(); // file dialog is
modal
String filename=dialog.getFile();
if (filename !=
null) {
String directory=dialog.getDirectory();
if (directory != null)
filename=directory+filename;
saveFile(filename);
}
}
}
private
void loadFile(String filename) {
BufferedReader in = null;
text.setText("");
try {
in = new BufferedReader(new
FileReader(filename),1024);
String string=null;
while ((string=in.readLine()) != null) { text.append(string+'\n'); }
in.close();
}
catch (IOException ie)
{System.err.println("File Read Error : "+ie.getMessage()); }
setTitle("FileName:"+filename);
this.filename=filename;
}
private void saveFile(String filename) {
BufferedWriter out = null;
try {
out = new BufferedWriter(new FileWriter(filename));
String string=text.getText();
out.write(string);
out.close();
}
catch(IOException e) { System.err.println("File
Read Error : "+e.getMessage()); }
setTitle("FileName:"+filename);
this.filename=filename;
}
}