Java 字节和字符流的读写+Buffered

一个关于IO流的导图
在这里插入图片描述
IO流字节的读写,实现复制

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;public class TestCopy {public static void main(String[] args) throws IOException {copyThree(new File("F:\\joy\\1.mp4"), new File("F:\\1.mp4"));}// 适应小文件。public static void copyOne(File pathInput, File pathOutput) throws IOException {// 获得输入流FileInputStream fis = new FileInputStream(pathInput);// 输出流(写入流)FileOutputStream fos = new FileOutputStream(pathOutput);int a = 0;// 一个一个字节的读取,并写入。while ((a = fis.read()) != -1) {fos.write(a);}fos.close();fis.close();}// 针对文件中等大小的, 对于太大的装不完, 内存溢出。public static void copyTwo(File pathInput, File pathOutput) throws IOException {FileInputStream fis = new FileInputStream(pathInput);	FileOutputStream fos = new FileOutputStream(pathOutput);//用byte数组装 字节 fis.available() 最大的字节数byte[] bb = new byte[fis.available()];fos.write(bb);	fos.close();fis.close();}// 超大文件如mp4的复制, 多次装。public static void copyThree(File pathInput, File pathOutput) throws IOException {FileInputStream fis = new FileInputStream(pathInput);	FileOutputStream fos = new FileOutputStream(pathOutput);//可以定义一次装的大小。缓冲区, 100MBbyte[] bb = new byte[1024 * 1024 * 100];int len;// len 实际读取的字节数。while ((len = fis.read(bb)) != -1) {fos.write(bb, 0, len);}fos.close();fis.close();	}}

JavaIO字符流的读写

import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;public class TestCharCopy {public static void main(String[] args) {// 复制 FileWriter 和 FileReader 读取字符操作。// 把a.txt 里面的内容复制到 b.txt java 太强了不仅跨平台 还支持复制各种文件。try {FileReader fr = new FileReader("a.txt");FileWriter fw = new FileWriter("b.txt");char[] ch = new char[10];int len;while ((len = fr.read(ch)) != -1) {fw.write(ch, 0, len);}fw.close();fr.close();} catch (IOException e) {e.printStackTrace();		}}}

JavaIO流buffered 类 的 读写。

package c12_24;import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;public class TestBuffered {public static void main(String[] args) {// 相对路径测试一下。//method1("a.txt", "b.txt");method2("a.txt", "b.txt");}// bufferedWriter bufferedReaderprivate static void method1(String path1, String path2) {try {BufferedReader br = new BufferedReader(new FileReader(path1));BufferedWriter bw = new BufferedWriter(new FileWriter(path2));//2 MB 缓冲区int len;char[] ch = new char[1024 * 1024];//最多 len 个字节长度读入数组while ((len = br.read(ch)) != -1) {bw.write(ch, 0, len);bw.newLine();//换行}bw.close();br.close();} catch(IOException e) {}}// bufferedInputStream bufferedOutputStream private static void method2(String path1, String path2) {try {BufferedInputStream bis = new BufferedInputStream(new FileInputStream(path1));BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(path2));int len;// 1kb 缓冲区byte[] b = new byte[1024 * 1];while ((len = bis.read(b)) != -1) {bos.write(b, 0, len);}bos.close();bis.close();} catch(IOException e) {}}}

字节流转换字符流 读取

	public static void method2(String path) {FileInputStream fis = null;InputStreamReader isr = null;try {// 字节流 转换成 字符流fis = new FileInputStream(path);isr = new InputStreamReader(fis);int i;while ((i = isr.read()) != -1) {System.out.print((char)i);}		} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();} finally {try {isr.close(); fis.close();} catch (IOException e) {System.out.println(e);}}}

字节流转换字符流 写入

	// 写入文件public static void method3(String path) {FileOutputStream fos = null;OutputStreamWriter fsw = null;try {fos = new FileOutputStream(path);fsw = new OutputStreamWriter(fos);fsw.write("asshole");} catch (FileNotFoundException e) {System.out.println(e);} catch (IOException e) {System.out.println(e);} finally {try {fsw.close();fos.close();} catch (IOException e) {System.out.println(e);}}}

找出以.png … .jpg … .xml结束的文件

import java.io.File;
import java.io.FileFilter;
import java.io.IOException;public class testFile {public static void main(String[] args) throws IOException {//get endWith .jpg files File imgs = new File("C:\\Users\\admin\\Pictures\\Saved Pictures\\cartoon");//实现过滤器接口 去掉不合规则的 再加到数组File[] lf = imgs.listFiles(new myFilter());for (File file : lf) {System.out.println(file);}}}class myFilter implements FileFilter {@Overridepublic boolean accept(File pathname) {if (pathname.isFile() && pathname.getName().endsWith(".jpg"))return true;return false;}}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/421129.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

1069. 微博转发抽奖(20)

1069. 微博转发抽奖(20) 时间限制400 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者CHEN, Yue小明PAT考了满分,高兴之余决定发起微博转发抽奖活动,从转发的网友中按顺序每隔N个人就发出一个红包。请你编写程序帮助他确定中奖名单。 输入格式…

jdbc 连接 Oracle 进行基本的增删改查

package api8;import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement;public class UpdateSelect {public static void main(String[] args) {// jdbc 连接 OracleselectAll();}//…

1070. 结绳(25)

1070. 结绳(25) 时间限制200 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者CHEN, Yue给定一段一段的绳子,你需要把它们串成一条绳。每次串连的时候,是把两段绳子对折,再如下图所示套接在一起。这样得到的绳子又被当成是另一段绳…

近期的随笔

有一段时间没有更新博客了,这一段时间确实忙,换工作,过年,适应新工作,培训,搬家等等。今天积累了一点想法想写写。 1.关于博客 在运营了独立博客一段时间后,有了比较深的感受就是为了高大上而高…

Java预编译和批处理

预编译 package csdn.prepare.take;import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException;public class TestCompiling {public static void main(String[] args) {prep…

1028. 人口普查(20)

1028. 人口普查(20) 时间限制200 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者CHEN, Yue某城镇进行人口普查,得到了全体居民的生日。现请你写个程序,找出镇上最年长和最年轻的人。 这里确保每个输入的日期都是合法的,但不一定是…

结对项目开发-电梯调度

结对项目开发-电梯调度n设计和实现一个电梯调度瞄准两个正确性和性能,在托管代码。n技能训练:na)需求分析nb)高层次设计(界面,信息隐藏,松耦合)nc)设计文档nd&#xff09…

1030. 完美数列(25)

1030. 完美数列(25) 时间限制300 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者CAO, Peng给定一个正整数数列&#xff0c;和正整数p&#xff0c;设这个数列中的最大值是M&#xff0c;最小值是m&#xff0c;如果M < m * p&#xff0c;则称这个数列是完美数列。 …

Java模拟事务Demo

Java操作Oracle事务&#xff0c;以转账为例。 转账之前 package translate.commit;import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException;public class CommitRollback…

关于 block的一些浅识

block的定义&#xff1a;“带自动变量的匿名函数” &#xff08;一&#xff09;写法&#xff1a; ^ void (int iAge){ NSLog("%d", iAge);}; 和C函数写法区别在于: 1) :以插入符号 ^ 开始. 2):没有函数名字 当block声明变量时候的写法 void (^blk)(int iAge) block …

1025. 反转链表 (25)

1025. 反转链表 (25) 时间限制300 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者CHEN, Yue给定一个常数K以及一个单链表L&#xff0c;请编写程序将L中每K个结点反转。例如&#xff1a;给定L为1→2→3→4→5→6&#xff0c;K为3&#xff0c;则输出应该为3→2→1→6…

手机连接电脑win10热点,手机显示无IP分配

hhhh&#xff0c;下面是我从csdn以及百度上查到的&#xff0c;对于我解决这个问题没什么luan用。 在C:\Windows\System32\drivers\etc GitHub不能上&#xff0c;可能我改了host文件的。 //创建一个热点对象 账号为lovely 密码为key netsh wlan set hostednetwork modeallow ss…

设计模式4-创建型模式-Prototype模式

意图&#xff1a;用原型实例指定创建对象的种类&#xff0c;并且通过拷贝这些原型对象创建新的对象。 原型模式的结构比较简单&#xff0c;在使用C实现该模式时重点要注意deep copy和shallow copy的问题。prototype模式在实际使用的过程中&#xff0c;可以通过增加一个原型管理…

JavaIO流加解密,AES对字符串加解密

加解密文件&#xff1f; 哈哈哈哈&#xff0c;当然是为了安全&#xff0c;自己的东西不像让别人看见。 1&#xff0c;学了JavaIO流的字节流的读取写入&#xff0c;便可实现。 加密原理: 把文件读取&#xff0c;然后&#xff0c;按某个特定的规则改变其字节写入一个新文件。 解…

Android--通知之Notification

前言 之前一篇博客讲了Android下使用Toast的方式提示消息。这篇博客讲解一下在Android中使用Notification提示消息给用户&#xff0c;Notification是一种具有全局效果的通知&#xff0c;程序一般通过NotificationManager服务来发送Notification。在本篇博客中&#xff0c;将介绍…

1049. 数列的片段和(20)

1049. 数列的片段和(20) 时间限制200 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者CAO, Peng给定一个正数数列&#xff0c;我们可以从中截取任意的连续的几个数&#xff0c;称为片段。例如&#xff0c;给定数列{0.1, 0.2, 0.3, 0.4}&#xff0c;我们有(0.1) (0.1…

UDP协议下的DatagramSocket和DatagramPacket

1&#xff0c;UDP协议? 面向无连接&#xff0c;数据不安全&#xff0c;但速度快。不区分客户端与服务端。 2&#xff0c;实现通信&#xff1f; (三个达到) IP 简单说就是你电脑地址。端口 你电脑里面软件的地址。协议 如何进行通讯。 DatagramSocket 用来发送和接收数据报包的…

使用Log4J监控系统日志邮件警报

使用Log4J监控系统日志邮件警报 前言 在系统上线后&#xff0c;有时候遇到系统故障&#xff0c;这时候就可以登录服务器查看系统日志来排查问题。但是需要登录服务器&#xff0c;下载查找相关异常日志比较麻烦。而且没有监控的话&#xff0c;也无法实时了解到系统是否正常运行。…

1044. 火星数字(20)

1044. 火星数字(20) 时间限制400 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者CHEN, Yue火星人是以13进制计数的&#xff1a; 地球人的0被火星人称为tret。 地球人数字1到12的火星文分别为&#xff1a;jan, feb, mar, apr, may, jun, jly, aug, sep, oct, nov, d…