/**
 * 字节流封装方法
 */
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream; public class FileUtilStream {
//<!----------------------------------------------------读取文件---------------------------------------------------->
public static String readFile(String path){
StringBuffer sb=new StringBuffer();
//1.创建文件的字节流
InputStream fis=null;
try {
fis=new FileInputStream(path);//InputStream为抽象类,不能实例化
byte [] bytes=new byte[1024];//数组
int data=0;
while ((data=fis.read(bytes))!=-1) {//(data=fis.read(bytes))!=-1表示读到最后了
//字符串的转换
String str=new String(bytes,0,data);//后面加,0,data是防止1024出现0000000
sb.append(str);
}
} catch (Exception e) {
e.printStackTrace();
}
finally{
        //2.关闭字节流
try {
if (fis!=null) {
fis.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
return  sb.toString();
}
//<!----------------------------------------------------写入文件---------------------------------------------------->
public static boolean writeFile(String path,String content,boolean flag){
boolean result=false;
//1.创建文件的字节流
        OutputStream fos=null;
        try {
                //2.创建 输出流对象
fos=new FileOutputStream(path, flag);//flag表示是否覆盖,flag=true表示在末尾添加,flag=false表示覆盖
//字符串String--->byte[]
byte[] words=content.getBytes();
//写入
fos.write(words, 0, words.length);
result=true;
} catch (Exception e) {
}
finally{
try {
if (fos!=null) {
fos.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
return result;
}
//<!----------------------------------------------------文件的复制---------------------------------------------------->
public static boolean copyFile(String frompath,String toPath){
boolean result=false;
// 文件的复制:先读取要复制的文件,再写入新文件
//1.读取文件
InputStream fis=null;
//2.写入文件
OutputStream fos=null;
try {
//3.读取
fis=new FileInputStream(frompath);
//4.写入
fos=new FileOutputStream(toPath);
//5.边读边写
StringBuffer content=new StringBuffer();
//【读】
byte [] bytes=new byte[1024];//数组
int data=0;
while ((data=fis.read(bytes))!=-1) {//(data=fis.read(bytes))!=-1表示读到最后了
//字符串的转换
String str=new String(bytes,0,data);//后面加,0,data是防止1024出现0000000
content.append(str);
}
       //【写】
//字符串String--->byte[]
byte[] words=content.toString().getBytes();
//写入
fos.write(words, 0, words.length);
result=true;
} catch (Exception e) {
}
finally{
try {
if (fis!=null) {
fis.close();
}
if (fos!=null) {
fos.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
return result;
}
}

Java字节流文件封装的更多相关文章

  1. Java字节流文件复制

    1.字节流 在 Java 中,文件的复制使用字节输入流和字节输出流实现,java.io 包有 InputStream 和 OutputStream 这两个顶层抽象类规范了读写文件所需的核心 API. ...

  2. java读取文件封装的一个类(有部分代码借鉴别人的)

    package modbus.rtu.calc; import java.io.BufferedReader; import java.io.FileInputStream; import java. ...

  3. java 字节流文件复制方法总结

    1.使用字节流每次读写单个字节 public static void main(String[] args) throws IOException { FileInputStream fis = ne ...

  4. 使用Java字节流拷贝文件

    本文给出使用Java字节流实现文件拷贝的例子 package LearnJava; import java.io.*; public class FileTest { public static vo ...

  5. Java 字节流实现文件读写操作(InputStream-OutputStream)

    Java 字节流实现文件读写操作(InputStream-OutputStream) 备注:字节流比字符流底层,但是效率底下. 字符流地址:http://pengyan5945.iteye.com/b ...

  6. Java字节流实现文件夹的拷贝

    import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io ...

  7. JAVA字节流(读写文件)

    InputStream此抽象类是表示字节输入流的所有类的超类.需要定义 InputStream 的子类的应用程序必须始终提供返回下一个输入字节的方法. int available()返回此输入流方法的 ...

  8. java字节流和字符流,以及java文件操作

    A.首先说字节流:1.字节流在操作的时候不会用到缓冲区(也就是内存)2.字节流可用于任何类型的对象,包括二进制对象3.字节流处理单元为1个字节,操作字节和字节数组.InputStream是所有字节输入 ...

  9. java 中 “文件” 和 “流” 的简单分析

    java 中 FIle 和 流的简单分析 File类 简单File 常用方法 创建一个File 对象,检验文件是否存在,若不存在就创建,然后对File的类的这部分操作进行演示,如文件的名称.大小等 / ...

随机推荐

  1. 【Weblogic】-weblogic查看版本及升级

    一.查看weblogic版本 1. cd /weblogic/bea/wlserver_10.3/server/lib 2. java -cp weblogic.jar weblogic.versio ...

  2. psd缩略图上传组件

    之前仿造uploadify写了一个HTML5版的文件上传插件,没看过的朋友可以点此先看一下~得到了不少朋友的好评,我自己也用在了项目中,不论是用户头像上传,还是各种媒体文件的上传,以及各种个性的业务需 ...

  3. .net大文件上传断点续传源码

    IE的自带下载功能中没有断点续传功能,要实现断点续传功能,需要用到HTTP协议中鲜为人知的几个响应头和请求头. 一. 两个必要响应头Accept-Ranges.ETag 客户端每次提交下载请求时,服务 ...

  4. SDOI2015 寻宝游戏 | noi.ac#460 tree

    题目链接:戳我 可以知道,我们相当于是把有宝藏在的地方围了一个圈,求这个圈最小是多大. 显然按照dfs序来遍历是最小的. 那么我们就先来一遍dfs序列,并且预处理出来每个点到根的距离(这样我们就可用\ ...

  5. Python基础之Python介绍

    Python的创始人为吉多·范罗苏姆(Guido Van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承. 最新 ...

  6. Spring Boot教程(三十四)使用Redis数据库(2)

    除了String类型,实战中我们还经常会在Redis中存储对象,这时候我们就会想是否可以使用类似RedisTemplate<String, User>来初始化并进行操作.但是Spring ...

  7. Konrad and Company Evaluation

    F. Konrad and Company Evaluation 参考:[codeforces 1230F]Konrad and Company Evaluation-暴力 思路:题意分析见参考博客. ...

  8. codeforces gym #101873B. Buildings(Polya定理)

    参考博客: https://blog.csdn.net/liangzhaoyang1/article/details/72639208 题目链接: https://codeforces.com/gym ...

  9. Example Bookstore schema showing how data is sharded DATABASE SHARDING

    w公共查询表复制至每一个碎片 http://www.agildata.com/database-sharding/ In the Bookstore example, the Primary Shar ...

  10. java tfserving grpc 通信调用代码解析 【重点参考】

    https://blog.csdn.net/shin627077/article/details/78592729/   [重点参考]