/******************************************************************************
* 파일 : FileReaderWriter.java
* 용도 : FileReaderWriter
* 작성자 : 성홍제
* 작성일 : 2006. 08. 03
* Version : 1.0
******************************************************************************/
import java.io.*;
public class FileReaderWriter
{
/// Fields
/// Costructor
/// Method
/// Main Method
public static void main(String[] args) throws IOException, FileNotFoundException
{
if(args.length<2)
{
System.out.println("원본 파일과 복사될 파일의 이름을 입력 하십시오!");
System.exit(-1);
}
int i = 0, len = 0;
System.out.println("복사할 원본: "+args[0]);
System.out.println("복사할 대상: "+args[1]);
FileReader in = new FileReader(new File(args[0]));
BufferedReader br = new BufferedReader(in);
FileWriter out = new FileWriter(args[1], false);
BufferedWriter bout = new BufferedWriter(out);
PrintWriter pout = new PrintWriter(out);
// 출력 시 편리한 클래스. 버퍼도 자체 내장하고 있다.
char[] buffer = new char[256]; // Buffered- 를 사용하지 않고 이렇게 사용해도 되지만
// Buffered- 를 사용하는 것이 더 빠른다.
String line = "";
while((line = br.readLine()) != null)
{
i++;
//bout.write(line+"\r\n"); // 끝에 줄바꿈 문자를 추가
if(i < 10)
{
//bout.write(line+"\n"); // 끝에 줄바꿈 문자를 추가
pout.println("0" + i + " " + line); // 자동으로 끝에 줄바꿈 문자를 추가한다.
System.out.println("0" + i + " " + line);
}
else
{
//bout.write(line+"\n"); // 끝에 줄바꿈 문자를 추가
pout.println("" + i + " " + line); // 자동으로 끝에 줄바꿈 문자를 추가한다.
System.out.println("" + i + " " + line);
}
}
br.close();
bout.close();
in.close();
out.close();
System.out.println(len + " bytes are copied...Successfully!");
}
}
/******************************************************************************
* 파일 : InputStreamReaderTest.java
* 용도 : InputStreamReaderTest
* 작성자 : 성홍제
* 작성일 : 2006. 08. 03
* Version : 1.0
******************************************************************************/
import java.io.*;
import java.util.*;
public class InputStreamReaderTest
{
public static void main(String[] args) throws java.io.IOException
{
String s, str;
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);
Vector v = new Vector();
PrintWriter pout = new PrintWriter(new FileWriter("d:\\test2.txt"));
System.out.println("내용을 입력해~" );
while((s = br.readLine()) != null)
{
if( s.equals("stop"))
{
break;
}
System.out.println("Read : " + s);
//pout.println("Read : "+s);
v.add(s);
}
System.out.print("저장할래?(Y or N) >> ");
s = br.readLine();
System.out.println();
if(s.equals("Y") || s.equals("y"))
{
for(int i = 0; i < v.size(); i++)
{
str = (String)v.get(i);
pout.println(str);
}
System.out.println("저장했으~ d:\\test2.txt에" );
}
pout.close();
br.close();
}
}
/*******************************************************************************************
* 파일 : ChattFrame.java
* 용도 : 채팅 창 예제
* 작성자 : 성홍제
* 작성일 : 2006. 08. 03
* Version : 1.0
*******************************************************************************************/
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.util.*;
public class ChatSave extends Frame implements ActionListener
{
// Fields
private TextArea ta = new TextArea();
private TextField tf = new TextField();
private Button submit = new Button("전송");
private Vector v = new Vector();
private ChatSave cs = null;
private String fileName = "d:\\Test3.txt";
// Constructor
public ChatSave(String title)
{
super(title);
cs = this;
this.init();
this.setSize(640, 480);
this.setResizable(false); // 리사이즈 막기
//this.pack();
// 화면 중앙에 위치 시키기
Toolkit tk = Toolkit.getDefaultToolkit();
Dimension di = tk.getScreenSize();
Dimension di1 = this.getSize();
this.setLocation((int)(di.getWidth() / 2 - di1.getWidth() / 2), (int)(di.getHeight() / 2 - di1.getHeight() / 2));
this.setVisible(true);
// Events
this.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
// 다이얼로그
new DialogTest(cs, "저장할래?", true);
System.exit(0);
}
});
tf.addActionListener(this);
submit.addActionListener(this);
// Focus
tf.requestFocus();
}
// Methods
/*************************************************
* Purpose : 초기화
* Return : void
* Parameter : none
*************************************************/
private void init()
{
this.setLayout(new BorderLayout());
// South
Panel p = new Panel(new BorderLayout());
p.add("Center", tf);
p.add("East", submit);
ta.setEditable(false);
this.add("Center", ta);
this.add("South", p);
}
public void actionPerformed(ActionEvent ae)
{
Object obj = ae.getSource();
if(obj == tf || obj == submit)
{
//String str = tf.getText() + "\n\r";
String str = tf.getText();
tf.setText("");
// 벡터에 저장
v.add(str);
ta.append(str + "\n\r");
tf.requestFocus();
}
}
/*************************************************
* Purpose : 대화 내용을 저장한다
* Return : void
* Parameter : none
*************************************************/
public void saveFile()
{
try
{
PrintWriter pout = new PrintWriter(new FileWriter(fileName));
String str;
for(int i = 0; i < v.size(); i++)
{
str = (String)v.get(i);
pout.println(str);
}
System.out.println("저장했으~ " + fileName +"에" );
pout.close();
}
catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
// Main
public static void main( String[] args )
{
ChatSave cf = new ChatSave( "채팅창" );
}// public static void main( String[] args )
}// public class ChattFrame extends Frame
class DialogTest extends Dialog implements ActionListener
{
// Fields
Frame parent;
Dialog d;
Button btYes = new Button("YES");
Button btNo = new Button("NO");
Label lb = new Label("저장할래?");
// Constructor
public DialogTest(Frame parent, String title, boolean modal)
{
super(parent, title, modal);
this.parent = parent;
d = this;
init();
start();
this.pack();
this.setLocation(300, 200);
this.setVisible(true);
}
// Methods
private void init()
{
this.add("North", lb);
Panel p = new Panel(new FlowLayout());
p.add(btYes);
p.add(btNo);
this.add("Center", p);
}
private void start()
{
this.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent we)
{
//System.out.println(we);
d.dispose();
}
});
btYes.addActionListener(this);
btNo.addActionListener(this);
}
public void actionPerformed(ActionEvent ae)
{
//this.dispose();
Object obj = ae.getSource();
if(obj == btYes)
{
ChatSave cs = (ChatSave)this.parent;
cs.saveFile();
d.dispose();
}
else if(obj == btNo)
{
d.dispose();
}
}
// Main
}// public class DialogTest extends Dialog
'프로그래밍 > Java' 카테고리의 다른 글
02 2일째.... (0) | 2007.11.27 |
---|---|
01 Network 첫시간... (0) | 2007.11.27 |
04 ObjectOutputStream / ObjectInputStream 클래스 (0) | 2007.11.27 |
05 3일째... (0) | 2007.11.27 |
04 입출력 (0) | 2007.11.27 |