`

字节流和字符流读取文件

    博客分类:
  • java
阅读更多
package io;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

import javax.servlet.http.HttpServletRequest;

public class ReadFile {
	public static void main(String[] args) {
		/** 读取字符流文件,并且把此文件复制到本地磁盘 */
		String fromPath = "f://每日任务.txt";
		String toPath = "f://1.txt";
		ReadFile.readAndWriteTxt(fromPath, toPath);

		/** 读取字节流文件,并且把此文件复制到本地磁盘 */
		// String fromPath = "f://3.gif";
		// String toPath = "f://1.gif";
		// ReadFile.readAndWriteImg(fromPath, toPath);
	}

	/**
	 * FileInputStream 用于读取诸如图像数据之类的原始字节流。要读取字符流,请考虑使用 FileReader。
	 * 
	 * @param fromPath
	 * @param toPath
	 */
	public static void readAndWriteImg(String fromPath, String toPath) {

		File file = new File(fromPath);
		try {
			FileInputStream is = new FileInputStream(file);
			FileOutputStream os = new FileOutputStream(toPath);
			byte[] b = new byte[1024];
			while (is.read(b) != -1) {
				os.write(b);
			}
			os.close();
			is.close();
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

	/**
	 * FileReader 用于读取字符流。要读取原始字节流,请考虑使用 FileInputStream。
	 * 
	 * @param fromPath
	 * @param toPath
	 */
	public static void readAndWriteTxt(String fromPath, String toPath) {

		File file = new File(fromPath);
		try {
			FileReader ir = new FileReader(file);
	        BufferedReader br = new BufferedReader(ir);  
			FileWriter ow = new FileWriter(toPath);
			BufferedWriter bw=new BufferedWriter(ow);
			char[] b = new char[1024];
			while (ir.read(b) != -1) {
				ow.write(b);
			} 
			ow.close();
			ir.close();
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
	/**
	 * 把文本内容输出到控制台和页面,这个是在jsp页面上调用的方法
	 
	 */
	public static String getTxt(HttpServletRequest request) {

		String fromPath = "f://每日任务.txt";
		StringBuffer sb=new StringBuffer();
		File file = new File(fromPath);
		try {
			FileReader ir = new FileReader(file);
	        BufferedReader br = new BufferedReader(ir);  
			String output;
			while((output=br.readLine())!=null){ 
				sb.append(output+"\n");
				System.out.println(output); 
			} 
			ir.close();
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
		return sb.toString();
	}

}


jsp页面调用getTxt()
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@page import="io.ReadFile"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
<%  
	String content = ReadFile.getTxt(request); 
%>
</head>
<body>
<%=content %>
</body>
</html>















分享到:
评论

相关推荐

    JavaIO实例_字节流_字符流_缓冲流_转换流IODemo

    JavaIO实例,包括:字节流、字符流、缓冲流、转换流

    字节流和字符流

    字节流与字符流在java.io包中操作文件内容的主要有两大类:字节流、字符流,两类都分为输入和输出操作。在字节流中输出数据主要是使用OutputStream完成,输入使的是InputStream,在字符流中输出主要是使用Writer类...

    Java的IO流讲解代码: File 类、RandomAccessFile 类、字节流(文件字节流、缓冲字节流、基本数据类型

    该代码源码资源是一个用于讲解Java IO流的示例代码库。它包含了常见的IO类和方法的使用...通过研究这些代码示例,读者将能够了解如何使用不同类型的IO类来进行文件读写、字符流、字节流、网络传输等各种常见的IO操作。

    Java字符流和字节流对文件操作的区别

    本篇文章主要介绍了Java的IO流分为字符流(Reader,Writer)和字节流(InputStream,OutputStream),字节流顾名思义字节流就是将文件的内容读取到字节数组,对初学者很有用,有需要的朋友可以了解一下。

    Java流(文件读写操作)

    一、 流的分类 • 按数据流动方向 ...– 字节流:用于处理字节数据。 – 字符流:用于处理Unicode字符数据。 • 按照流所处理的源 – 节点流:从/向一个特定的IO设备读/写数据的流。(低级流) – 处理

    读取字符流

    用字节流、字符流处理对数据的读取和写入。OutputStreamWriter

    Java IO(输入输出).pptx

    掌握字节流和字符流读写文件的操作 熟悉如何使用File类访问文件系统 了解字节流和字符流的概念,输入输出概念。

    java IO流学习笔记——(2)文件字符流&字节数组流

    部分方法同文件字节流(read(),write()) 其他方法: FileWriter:append()写入 name.append(“你好”); name.append(“你好,”).append(“朋友”); 文件字符输入流练习 package Io; import java.io.File; import java....

    java 读取字节流

    java 读取字节流的例子,非常好。本例用System.in.read(buffer)从键盘输入一行字符,存储在缓冲区buffer中,再以FileOutStream的write(buffer)方法,将buffer中内容写入文件WriteFile.txt中,程序如下(本例程序放在...

    字节流的详细的解析——

    下面的程序中是使用字节流 读写文件。 注意: 什么是编码? 将 字符串 转换成 字节 这叫编码。 在文件中写东东的时候要使用编码,因为电脑只知道 0 1 代码。 - 什么是解码? 将 字节 转换成 字符串 这叫解码。...

    Android中文件读写(输入流和输出流)操作小结

    2. 字节流和字符流的区别: (1).字节流提供了处理任何类型的IO操作的功能,但它不能直接处理Unicode字符,字符流就可以。 (2).字节流转换成字符流可以用InputStreamReader,OutputStreamWriter。 一般我们在使用的...

    Java流总结

    • 读写单位不同:字节流以字节(8bit)为单位,字符流以字符为单位,根据码表映射字符,一次 可能读多个字节。 • 处理对象不同:字节流能处理所有类型的数据(如图片、avi等),而字符流只能处理字符类型 的数据。...

    基础深化和提高-IO流技术学习大全

    另外,Java还提供了一些高级的流类,如缓冲流、对象流、数据流等,它们在底层字节流和字符流的基础上提供了更多的功能和便利。 除了基本的文件和网络I/O之外,Java的NIO(New I/O)技术也是I/O流领域的重要发展。...

    java IO流总结.md

    1.操作数据单位:字节流、字符流 对于文本文件(.txt,.java,.c,.cpp),使用字符流处理 对于非文本文件(.jpg,.mp3,.mp4,.avi,.doc,.ppt,...),使用字节流处理 2.数据的流向:输入流、输出流 3.流的角色:...

    JAVA IO流文件读写大全下载

    JAVA IO流文件读写,字节流字符流的转换、读取、存盘,不乱码操作,文件移动读取操作,使用了多种流机制

    用java IO流复制文本内容(包含中文字符)

    BufferedReader/BufferedWriter 实现从字节流到字符流的读取。代码用来实现文本内容的复制!

    Java之IO流学习总结

    读写单位不同:字节流以字节(8bit)为单位,字符流以字符为单位,根据码表映射字符,一次可能读多个字节。 处理对象不同:字节流能处理所有类型的数据(如图片、avi等),而字符流只能处理字符类型的数据。 结论:...

    Java文件读写操作函数实现

    * 通常,Reader 所作的每个读取请求都会导致对底层字符或字节流进行相应的读取请求。因此,建议用 BufferedReader包装所有其 read() * 操作可能开销很高的 Reader(如 FileReader和 InputStreamReader)。 * ...

    Java中的IO流(二)字符流的常用操作

    字符流的分类①节点流②处理流③流的使用一般步骤④流的关闭字符流具体使用Ⅰ文件流①从文件中读取字符①将字符写入文件Ⅱ字符串流Ⅲ字符数组流Ⅳ缓冲流Ⅴ转换流Ⅵ字符打印流最后 前言 今天带来的是JAVA的IO流中的...

Global site tag (gtag.js) - Google Analytics