java实验8-Java输入输出流

时间:2023-03-09 09:47:08
java实验8-Java输入输出流

1 读写文件

【实验目的】

(1)掌握文本文件的读写方法。

(2)掌握随机文件的读写方法。

(3)掌握InputStream、OutputStream抽象类的基本使用。

(4)掌握FileInputStream、FileOutputStream、DataInputStream、DataOutputStream
抽象类的基本使用。

【实验要求】

要求一:建立StreamDemo类。实现标准输入输出流的建立。能从键盘读取字符串并输出该字符串。

要求二:应用Java的输入输出流。对一个图片文件进行处理:在图片上写上几个字符“By Michael”,给图片加上名称标识“我处理的图片”,然后,将图片放在面板上、将面板放在框架里。

创建一个jframe 一个jpanel 一个jlabel 通过imageio读入一张图片 将图片放到jlabel中 jlabel放到jpanel中 jpanel放到jframe中

用Graphics在图片上写字符

import java.awt.Color;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.swing.*;
import javax.imageio.*; public class Demo { /**
* @param args
* @throws Exception
*/
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
BufferedImage image = ImageIO.read(new File("F:\\fd.jpg"));
Graphics g = image.getGraphics();
g.setColor(Color.red);
g.drawChars("By Michael".toCharArray(), 0, 10, 10, 10);
g.setColor(Color.GREEN);
g.drawChars("我处理的图片".toCharArray(), 0, "我处理的图片".length(), image.getWidth()-80, image.getHeight()-10);
JFrame jm = new JFrame();
jm.setBounds(500, 200, 200, 200);
ImageIcon ic = new ImageIcon();
JPanel panel = new JPanel();
JLabel jl = new JLabel(new ImageIcon(image)); panel.add(jl);
jm.getContentPane().add(panel);
jm.setVisible(true);
}
}