java新手笔记29 读取文件
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 读取文件的更多相关文章
- java 使用相对路径读取文件
java 使用相对路径读取文件 1.java project环境,使用java.io用相对路径读取文件的例子: *目录结构: DecisionTree |___src ...
- Java:bufferedReader.readLine()读取文件换行问题
代码实现读取到的内容正常换行,并将内容复制到系统剪贴板当中去. public static void ReadAlart() { try { String encoding="utf-8&q ...
- Java学习笔记——JDBC读取properties属性文件
Java 中的 properties 文件是一种配置文件,主要用于表达配置信息,文件类型为*.properties,格式为文本文件. 文件的内容是格式是"键=值"(key-valu ...
- Java学习笔记29(IO字符流,转换流)
字符流:只能操作文本文件,与字节流的区别是,字节流是按照字节来读取文件,而字符流是按照字符来读取,因此字符流的局限性为文本文件 字符输出流:Write类,使用时通过子类 每一次写入都要刷新 pac ...
- JAVA支持字符编码读取文件
文件操作,在java中很常用,对于存在特定编码的文件,则需要根据字符编码进行读取,要不容易出现乱码 /** * 读取文件 * @param filePath 文件路径 */ public static ...
- JAVA 解决 SpringBoot 本地读取文件成功,打包后读取文件失败的方法
SpringBoot 的日常开发中,我们会发现当我们使用 InputStream input = getClass.getResource(path) 读取文件或者模板时,在 ida 中运行 测试的 ...
- Java学习笔记——Socket实现文件传输
我越是逃离,却越是靠近你. 我越是背过脸,却越是看见你. 我从你开始, 我在你结束. 需求:实现局域网下socket传输文件. 客户端步骤: 1.建立与服务器的连接 2.创建client输出流 3.创 ...
- Java实现一行一行读取文件内容(进行编码处理)
// 读取文件内容public String readFile(){ String path = ""; File file = new File(path); StringBui ...
- 14.swoole学习笔记--异步读取文件
<?php //异步读取文件 swoole_async_readfile(__DIR__."/1.txt",function($filename,$content){ ech ...
随机推荐
- mac下批量删除.svn文件
mac下.svn是隐藏文件,而且即使我们调成可见的,一个一个删也很麻烦.今天正好同事问起来这个命令,于是想可能有些人也需要,于是还是放到博客里吧 命令比较简单,其实就是一条linux命令,打开终端,首 ...
- IPv6 sokcet 编程
IPv6的数据包包头与IPv4的数据包头不一样,所以在IPv6下的socket编程用到的某些结构体和地址转换函数也与IPv4下的socket编程不一样.涉及的结构体有:IPv4中使用sockaddr/ ...
- ios 7.1 7.1.1 半完美越狱后 电脑訪问手机越狱文件夹的方法
7.1和7.1.1因为越狱不成熟,半完美越狱后电脑上无法訪问系统越狱文件夹,如var usr 等等. 今天有些意外地发现,能够在电脑上使用手机的越狱文件夹我手机 i4 7.1.1 联通 半完美越狱,没 ...
- 记录一下跟Python有关的几个拓展名
.py python文本源码文件,也可以用python.exe直接运行 .pyw 也是python的文本源码文件,但是默认由pythonw.exe打开,而且不显示命令行窗口,带GUI的python代码 ...
- httpclient发送request请求时设置header和timeout
package com.xxx.xxx.common; import java.io.BufferedReader; import java.io.InputStreamReader; import ...
- Open gl 的不规则图形的4联通种子递归填充和扫描线种子递归填充算法实现
实验题目:不规则区域的填充算法 实验目的:验证不规则区域的填充算法 实验内容:利用VC与OpenGL,实现不规则区域的填充算法. 1.必做:实现简单递归的不规则区域填充算法. 2.选做:针对简单递归算 ...
- Android 进阶学习:事件分发机制全然解析,带你从源代码的角度彻底理解(上)
http://blog.csdn.net/guolin_blog/article/details/9097463 事实上我一直准备写一篇关于Android事件分发机制的文章,从我的第一篇博客開始,就零 ...
- iOS开发——UI篇OC篇&TextField作为搜索框的使用
TextField作为搜索框的使用 在iOS开发中我们经常会使用到搜索框,但是有的时候系统自带的搜索框不足以满足我吗想要的功能,这个时候我们就可以使用自定义的搜索框实现想要的功能. 今天就简单的介绍一 ...
- springmvc03 非注解和注解处理器映射器和适配器
1其它非注解处理器映射器和适配器 .1BeanNameUrlHandlerMapping(映射器) 根据请求url(XXXX.action)匹配spring容器bean的 name 找到对应的bean ...
- Jquery 表格固定表头
网上找了好多现成的.结果没一个能成.只得自己动手. (function($){ $.fn.fixHeader = { init : function(obj){ var p = obj.parent( ...