java实验8-Java输入输出流

1 读写文件

【实验目的】

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

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

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

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

【实验要求】

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

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

要求二:

方法1

创建一个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);
	}
}
时间: 2024-12-31 04:00:08

java实验8-Java输入输出流的相关文章

java I/O系统(输入输出流)

java I/O系统(输入输出流) 流的特性1.含有流质(数据)2.它有方向(读或写) 流的分类: 输入流和输出流 输入流:io包中的输入流继承自抽象类InputStream或Reader 输出流:io包中的输入流继承自抽象类OutputStream或Writer 字节流和字符流 注:1字节代表1个英文单词存储的数据大小,一个汉字占两字节 1.字节流:以byte为最小单位传送,继承自抽象类InputStream或OutputStream,用于处理二进制文件,InputStream为读取字节流的父

java中常见的输入输出流案例学习

字节输入流: 1.FileInputStream 用途:从文件系统中的文件获得输入字节,常用于读取图像.声音等原始字节流,读取字符流可考虑使用FileReader 详细构造函数与常用方法可参考API文档,网上已经有中文版的API了,我是个E文盲,伤不起 这里介绍一个最常见的方法: read(byte[] b, int off, int len) 从此输入流中将最多 len 个字节的数据读入一个 byte 数组中. ->off:b字节数组中的偏移量 小知识:数组偏移量,比如a[1,2,3,4,5]

【Java】利用文件输入输出流完成把一个文件夹内的所有文件拷贝的另一的文件夹的操作

一.基本目标 使用Java完成如下的操作: 把一个文件夹内的所有文件拷贝的另一的文件夹,例如,在F盘中有a与b两个文件夹: f:/a里面有一堆文件,运行Java程序之后就会全部复制到f:/b,并且完成重命名,在所有文件之前加rename_的前缀,如果里面有文件夹,则文件夹不重命名,里面的文件进行重命名,同样在所有文件之前加rename_的前缀: 二.制作过程 1.首先主函数非常简单,就是调用了上面FileTest类中的copyFolder函数 public class FileCopy { pu

java之九 基本输入输出流

流的概念 Java程序通过流来完成输入/输出.流是生产或消费信息的抽象.流通过Java的输入/输出系统与物理设备链接.尽管与它们链接的物理设备不尽相同,所有流的行为具有同样的方式.这样,相同的输入/输出类和方法适用于所有类型的外部设备.这意味着一个输入流能够抽象多种不同类型的输入:从磁盘文件,从键盘或从网络套接字.同样,一个输出流可以输出到控制台,磁盘文件或相连的网络.流是处理输入/输出的一个洁净的方法,例如它不需要代码理解键盘和网络的不同. Java中流的实现是在java.io包定义的类层次结

Java输入输出流

1.什么是IO Java中I/O操作主要是指使用Java进行输入,输出操作. Java所有的I/O机制都是基于数据流进行输入输出,这些数据流表示了字符或者字节数据的流动序列.Java的I/O流提供了读写数据的标准方法.任何Java中表示数据源的对象都会提供以数据流的方式读写它的数据的方法. Java.io是大多数面向数据流的输入/输出类的主要软件包.此外,Java也对块传输提供支持,在核心库 java.nio中采用的便是块IO. 流IO的好处是简单易用,缺点是效率较低.块IO效率很高,但编程比较

java输入输出流总结 转载

一.基本概念 1.1 什么是IO?     IO(Input/Output)是计算机输入/输出的接口.Java中I/O操作主要是指使用Java进行输入,输出操作.     Java所有的I/O机制都是基于数据流进行输入输出,这些数据流表示了字符或者字节数据的流动序列.      任何Java中表示数据源的对象都会提供以数据流的方式读写它的数据的方法.Java.io是大多数面向数据流的输入/输出类的主要软件包.此外,Java也对块传输提供支持,在核心库 java.nio中采用的便是块IO.    

Java IO详解(三)------字节输入输出流

File 类的介绍:http://www.cnblogs.com/ysocean/p/6851878.html Java IO 流的分类介绍:http://www.cnblogs.com/ysocean/p/6854098.html 那么这篇博客我们讲的是字节输入输出流:InputStream.OutputSteam(下图红色长方形框内),红色椭圆框内是其典型实现(FileInputSteam.FileOutStream)  1.字节输出流:OutputStream public abstrac

【转载】Java输入输出流-IO

转自:http://blog.csdn.net/hguisu/article/details/7418161 1.什么是IO Java中I/O操作主要是指使用Java进行输入,输出操作. Java所有的I/O机制都是基于数据流进行输入输出,这些数据流表示了字符或者字节数据的流动序列.Java的I/O流提供了读写数据的标准方法.任何Java中表示数据源的对象都会提供以数据流的方式读写它的数据的方法. Java.io是大多数面向数据流的输入/输出类的主要软件包.此外,Java也对块传输提供支持,在核

Java中IO流,输入输出流概述与总结

总结的很粗糙,以后时间富裕了好好修改一下. 1:Java语言定义了许多类专门负责各种方式的输入或者输出,这些类都被放在java.io包中.其中, 所有输入流类都是抽象类InputStream(字节输入流),或者抽象类Reader(字符输入流)的子类: 而所有输出流都是抽象类OutputStream(字节输出流)或者Writer(字符输出流)的子类. [首先需要明白的是:流是干什么的???(为了永久性的保存数据)   根据数据流向的不同分为输入流和输出流:   根据处理数据类型的不同分为字符流和字