1.读取文件

package com.yfs.javase;

import java.io.FileInputStream;
import java.io.FileReader;
import java.io.InputStream;
import java.io.Reader; public class IODemo1 { /**
* 读取文件 显示
*/
public static void main(String[] args) throws Exception {
//readFileSteame();
readFileChar();
} public static void readFileChar() throws Exception {
//字节流
Reader byte= new FileReader("FileDemo1.java"); int data = byte.read();
while(data != -1) {
System.out.print((char)data);
data = byte.read();
}
read.close();
} public static void readFileSteame() throws Exception {
//File file = new File("FileDemo1.java");//源头
//输入流 源头 目的 连接 字节流
//InputStream in = new FileInputStream(file) ;
InputStream in = new FileInputStream("FileDemo1.java");
//程序 目的
int data = in.read();//读取文件数据
while(data != -1){//读到-1 文件结束
System.out.print((char)data);
data = in.read();
} in.close();
} }

2.输出流

package com.yfs.javase;

import java.io.File;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.OutputStream;
import java.io.Writer; public class IODemo2 { /**
* 输出流
*/
public static void main(String[] args) throws Exception {
//outDataSteame();
outDataChar();
} public static void outDataChar() throws Exception {
Writer write = new FileWriter("outchar.txt");
write.write('a');//处理一个字节
write.write(5);
write.write('中');//数据丢失 write.close();
} public static void outDataSteame() throws Exception {
File file = new File("out.txt");
//输出流
OutputStream out = new FileOutputStream(file);
out.write('a');//处理一个字节
out.write(5);
out.write('中');//数据丢失 out.close(); } }

3.复制文件

package com.yfs.javase;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.Reader;
import java.io.Writer; public class IODemo3 { /**
* 复制文件
*/
public static void main(String[] args) throws Exception {
// copyFileStreame();
copyFileChar();
} public static void copyFileChar() throws Exception {
Reader in = new FileReader("E:/img/index.gif"); Writer out = new FileWriter("C:/pic1.gif"); int data = in.read();
while (data != -1) {
out.write(data);
data = in.read();
} in.close();
out.close();
System.out.println("文件复制完成..."); } public static void copyFileStreame() throws Exception {
InputStream in = new FileInputStream("E:/img/index.gif"); OutputStream out = new FileOutputStream("C:/pic.gif"); int data = in.read();
while (data != -1) {
out.write(data);
data = in.read();
} in.close();
out.close();
System.out.println("文件复制完成...");
} }

4.缓冲流

package com.yfs.javase;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.Reader;
import java.io.Writer; public class IODemo4 { /**
* 复制文件 缓冲流
*/
public static void main(String[] args) throws Exception {
long start = System.currentTimeMillis();
// copyFileStreame();
//copyFile();
//copyFile1();
copyFile2();
long end = System.currentTimeMillis();
System.out.println("复制文件使用 " + (end - start) + " 毫秒"); }
public static void copyFile2() throws Exception {
File source = new File("FileDemo1.java");
InputStream in = new FileInputStream(source); File target = new File("C:/", source.getName());
OutputStream out = new FileOutputStream(target);
//自定义缓冲区
byte[] data = new byte[1024 * 4];//1k
int len = in.read(data);//len 读取的数据长度
while(len != -1 ) {//8
out.write(data, 0, len);
len = in.read(data);
}
in.close();
out.close(); } public static void copyFile1() throws Exception {
File source = new File("E:/EditPlus.zip");
InputStream in = new FileInputStream(source); File target = new File("C:/", source.getName());
OutputStream out = new FileOutputStream(target);
//自定义缓冲区
byte[] data = new byte[1024 * 4];//1k
int len = in.read(data);//len 读取的数据长度
while(len != -1 ) {//8
out.write(data, 0, len);
len = in.read(data);
}
in.close();
out.close(); } public static void copyFile() throws Exception {
// 缓冲流
File source = new File("E:/EditPlus.zip");
InputStream in = new FileInputStream(source); File target = new File("C:/", source.getName());
OutputStream out = new FileOutputStream(target);
// 缓冲流套接在节点流
BufferedInputStream bufin = new BufferedInputStream(in); BufferedOutputStream bufout = new BufferedOutputStream(out); int data = bufin.read();
while (data != -1) {
bufout.write(data);
data = bufin.read();
}
in.close();
out.close();
} public static void copyFileStreame() throws Exception {
File source = new File("E:/EditPlus.zip");
InputStream in = new FileInputStream(source); File target = new File("C:/", source.getName());
OutputStream out = new FileOutputStream(target); int data = in.read();
while (data != -1) {
out.write(data);
data = in.read();
} in.close();
out.close();
} }

5.流转换

package com.yfs.javase;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.Reader;
import java.io.Writer; public class IODemo5 { /**
* 流转换 字节流 -》 字符流
*/
public static void main(String[] args) throws Exception { InputStream in = new FileInputStream("FileDemo1.java");
showFile(in); } public static void showFile(InputStream in) throws Exception {
Reader read = new InputStreamReader(in);//流转换 int data = read.read(); while(data != -1) {
System.out.print((char)data);
data = read.read();
}
in.close(); } }

java新手笔记29 读取文件的更多相关文章

  1. java 使用相对路径读取文件

    java 使用相对路径读取文件 1.java project环境,使用java.io用相对路径读取文件的例子: *目录结构:  DecisionTree            |___src      ...

  2. Java:bufferedReader.readLine()读取文件换行问题

    代码实现读取到的内容正常换行,并将内容复制到系统剪贴板当中去. public static void ReadAlart() { try { String encoding="utf-8&q ...

  3. Java学习笔记——JDBC读取properties属性文件

    Java 中的 properties 文件是一种配置文件,主要用于表达配置信息,文件类型为*.properties,格式为文本文件. 文件的内容是格式是"键=值"(key-valu ...

  4. Java学习笔记29(IO字符流,转换流)

    字符流:只能操作文本文件,与字节流的区别是,字节流是按照字节来读取文件,而字符流是按照字符来读取,因此字符流的局限性为文本文件 字符输出流:Write类,使用时通过子类   每一次写入都要刷新 pac ...

  5. JAVA支持字符编码读取文件

    文件操作,在java中很常用,对于存在特定编码的文件,则需要根据字符编码进行读取,要不容易出现乱码 /** * 读取文件 * @param filePath 文件路径 */ public static ...

  6. JAVA 解决 SpringBoot 本地读取文件成功,打包后读取文件失败的方法

    SpringBoot 的日常开发中,我们会发现当我们使用  InputStream input = getClass.getResource(path) 读取文件或者模板时,在 ida 中运行 测试的 ...

  7. Java学习笔记——Socket实现文件传输

    我越是逃离,却越是靠近你. 我越是背过脸,却越是看见你. 我从你开始, 我在你结束. 需求:实现局域网下socket传输文件. 客户端步骤: 1.建立与服务器的连接 2.创建client输出流 3.创 ...

  8. Java实现一行一行读取文件内容(进行编码处理)

    // 读取文件内容public String readFile(){ String path = ""; File file = new File(path); StringBui ...

  9. 14.swoole学习笔记--异步读取文件

    <?php //异步读取文件 swoole_async_readfile(__DIR__."/1.txt",function($filename,$content){ ech ...

随机推荐

  1. 【转】教你Ruby快速入门

    转自:http://developer.51cto.com/art/200703/41243.htm 介绍 这是一个短小的Ruby入门,完全读完只需20分钟.这里假设读者已经安装了Ruby,如果你没有 ...

  2. EasyUI基础入门之Parser(解析器)

    前言 JQuery EasyUI提供的组件包含功能强大的DataGrid,TreeGrid.面板.下拉组合等.用户能够组合使用这些组件,也能够单独使用当中一个.(使用的形式是以插件的方式提供的) Ea ...

  3. HDU 4586 A - Play the Dice 找规律

    A - Play the DiceTime Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hust.edu.cn/vjudge/contest/ ...

  4. mbstowcs_s实现wchar_t转成char

    把char*转换为wchar_t* 用stdlib.h中的mbstowcs_s函数,可以通过下面的例子了解其用法: char*CStr = "string to convert"; ...

  5. FZU 2169 shadow (用了一次邻接表存边,树形DP)

    Accept: 28 Submit: 97 Time Limit: 1000 mSec Memory Limit : 32768 KB Problem Description YL是shadow国的国 ...

  6. Fedora 20 安装后的一些事情

    1.关闭selinux 可以在软件中,找到selinux管理工具:system-config-selinux.py 2.安装源 可以通过# ls -l /etc/yum.repos.d 查看现有的安装 ...

  7. 日志文件 的管理 logrotate 配置

    于Linux 的系统安全来说,日志文件是极其重要的工具.系统管理员可以使用logrotate 程序用来管理系统中的最新的事件, 对于Linux 的系统安全来说,日志文件是极其重要的工具.系统管理员可以 ...

  8. AngularJS - Apply方法监听model变化

    <body> <div ng-app="myApp"> <div ng-controller="firstController" ...

  9. spring4.x注解概述

    1. 背景 注解可以减少代码的开发量,spring提供了丰富的注解功能,因项目中用到不少注解,因此下定决心,经spring4.x中涉及到的注解罗列出来,供查询使用. 2. spring注解图     ...

  10. IP101A芯片默认物理地址(PHY Adress)确定

    转载:http://blog.csdn.net/ropai/article/details/6961157 根据IP101A的DataSheet,芯片的第9,10,12,13,15脚为PHYAD0~P ...