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. codeforces Gym 100500C D.Hall of Fame 排序

    Hall of Fame Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/gym/100500/attachmen ...

  2. Codeforces Gym 100425A Luggage Distribution 二分 数学

    A - Luggage DistributionTime Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hust.edu.cn/vjudge/c ...

  3. Android - FrameLayout覆盖顺序

    FrameLayout覆盖顺序 本文地址: http://blog.csdn.net/caroline_wendy FrameLayout: Child views are drawn in a st ...

  4. delphi 在 DragDrop 的时候,滚动 TreeView

    在 DragDrop 的时候,滚动 TreeView 当高度不够的时候   procedure TForm1.TreeView1DragOver(Sender, Source: TObject; X, ...

  5. 第八讲:HTML5中canvas实现小球击打小方块游戏

    源码:http://download.csdn.net/detail/liumingm900913/7469969 游戏开发流程: 1.创建画布: 将画布放在div标签里面,这样能够控制画布居中的位置 ...

  6. 【android】在eclipse中查看genymotion模拟器的sd卡文件夹

    假设用google自带模拟器或者真机调试时,sd卡文件夹是在/mnt/sdcard.这个相信大家都知道. 但是今天用genymotion调试时.发现根本打不开/mnt/sdcard这个文件夹,当时也没 ...

  7. Android短信彩信收发流程(应用层)

    下图为ComposeMessageActivity中confirmSendMessageIfNeeded部分的信息发送流程.主要以接收者有效性的确认为主,然后转向sendMessage方法进行发送. ...

  8. Python学习 之 包和模块

    1.rpm -ql python #查看python在计算机中安装了哪些文件 2.模块是一个可以导入的Python脚本文件 包是一堆按目录组织的模块和子包,目录下的__init__.py文件存放了包的 ...

  9. C#_deepCopy

    using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Run ...

  10. android开发之路06(浅谈单例设计模式)

    设计模式之单例模式: 一.单例模式实现特点:①单例类在整个应用程序中只能有一个实例(通过私有无参构造器实现):②单例类必须自己创建这个实例并且可供其他对象访问(通过静态公开的访问权限修饰的getIns ...