📄 demostream.java
字号:
import java.io.*;
import javax.swing.JFrame;
import javax.swing.JFileChooser;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import java.awt.event.ActionListener;
import java.util.EventListener;
import java.awt.event.ActionEvent;
public class DemoStream extends JFrame implements ActionListener{
private JFileChooser jfc = new JFileChooser();
private JMenu jm = new JMenu("File");
private JMenuBar jmb = new JMenuBar();
private JMenuItem jmio = new JMenuItem("Open");
private JMenuItem jmis = new JMenuItem("Save");
private JTextArea jta = new JTextArea();
public static void main(String args[]){
//DemoStream e = new DemoStream();
DemoStream e = new DemoStream("I/O");
//e.readStream();
//e.lowInputStreamToOut();
//e.lowArrayReadFile();
//e.hiCopyFile();
//e.lowCopyFile();
//e.hiReadFile();
}
public DemoStream(String title){
super(title);
this.setDefaultCloseOperation(3);
this.add(new JScrollPane(jta));
this.setJMenuBar(jmb);
jmb.add(jm);
jm.add(jmio);
jm.add(jmis);
jmio.addActionListener(this);
jmis.addActionListener(this);
this.setSize(400,400);
this.setVisible(true);
}
public DemoStream(){
}
//屏幕取字打印到屏幕
public void readToPrint(){
try{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str ="";
while(!(str = br.readLine()).equals("over")){
System.out.println("-->"+str);
}
br.close();
}catch(IOException e){
}
}
//屏幕打字写到文件中
public void inputToFile(){
try{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str ="";
File f = new File("d:/log.txt");
BufferedWriter bw = new BufferedWriter(
new OutputStreamWriter(new FileOutputStream(f)));
while(!(str = br.readLine()).equals("over")){
bw.write(str);
bw.newLine();
}
br.close();
bw.close();
}catch(IOException e){
}
}
//屏幕输入,输出到屏幕
public void inputToSrc(){
try{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
String str = "";
while(!(str = br.readLine()).equals("over")){
bw.write("-->"+str);
bw.newLine();
bw.flush();
}
br.close();
bw.close();
}catch(IOException e){
}
}
//低级流输入打印
public void readStream(){
try{
InputStreamReader isr = new InputStreamReader(System.in);
int i = 0;
while((i = isr.read()) != -1){
System.out.println((char) i);
}
}catch(IOException e){
}
}
//低级流输入,输出到屏幕
public void lowInputStreamToOut(){
try{
InputStreamReader isr = new InputStreamReader(System.in);
OutputStreamWriter osw = new OutputStreamWriter(System.out);
int i = 0;
while((i = isr.read()) != -1){
osw.write(i);
osw.flush();
}
isr.close();
osw.close();
}catch(Exception e){
}
}
//使用数组的低级流的读取写出文件
public void lowArrayReadFile(){
try{
FileInputStream fin = new FileInputStream("d:/test.txt");
FileOutputStream out = new FileOutputStream("d:/test1.txt");
byte[] buff = new byte[5];
int num = 0;
while((num=fin.read(buff,0,buff.length)) != -1){
System.out.println("Loading.....");
out.write(buff,0,num);
}
fin.close();
out.close();
}catch(Exception e){
}
}
//高级流的文件读取
public void hiReadFile(){
try{
BufferedReader br = new BufferedReader(new FileReader("d:/Test.java"));
String str = "";
while((str = br.readLine()) != null){
System.out.println(str);
}
br.close();
}catch(Exception e){
}
}
//高级流文件读取与写入
public void hiCopyFile(){
try{
System.out.println("高级流文件读取与写入");
BufferedReader br = new BufferedReader(new FileReader("d:/test.txt"));
BufferedWriter bw = new BufferedWriter(new FileWriter("D:/test1.txt"));
String str= "";
while((str = br.readLine()) != null){
bw.write(str);
bw.newLine();
bw.flush();
}
bw.close();
}catch(IOException e){
e.printStackTrace();
}
}
//低级流的文件复制
public void lowCopyFile(){
try{
FileInputStream fin = new FileInputStream("d:/伦邦_20061007_2100.rar");
FileOutputStream fout = new FileOutputStream("d:/test.rar");
byte buff[] = new byte[1024];
int num = 0;
while((num = fin.read(buff,0,buff.length)) != -1){
fout.write(buff,0,num);
fout.flush();
}
fin.close();
fout.close();
}catch(Exception e){
}
}
//介绍文件类的操作
public void showFile(){
try{
File f = new File("");
}catch(Exception e){
}
}
public void actionPerformed(ActionEvent e) {
try{
if(e.getSource().equals(jmio)){
int i = jfc.showOpenDialog(this);
if(i==0){
BufferedReader br = new BufferedReader(
new FileReader(jfc.getSelectedFile()));
String str = "";
while((str = br.readLine()) != null){
jta.append(str+"\n");
}
br.close();
}
}
if(e.getSource().equals(jmis)){
int i = jfc.showSaveDialog(this);
if(i==0){
BufferedWriter bw = new BufferedWriter(
new FileWriter(jfc.getSelectedFile()));
//bw.write(jta.getText());
bw.close();
jta.write(new FileWriter(jfc.getSelectedFile()));
}
}
}catch(Exception ex){
ex.printStackTrace();
}
}
/**
* 1. 高级流读
* 2. 高级流读到屏幕
* 3. 低级流读
* 4. 低级流读到屏幕
* 5. 文件读
* 6. 文件写
* 7. 高级文件的复制
* 8. 低级流读写使用数组
* 9. 低级流的文件复制
* 10.在控制台读文件到界面上
* 11.实现文件读写用文件选择器
*
*/
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -