当前位置: 首页 > news >正文

安徽省住房和城乡建设局2021百度seo

安徽省住房和城乡建设局,2021百度seo,招聘织梦网站,在哪里建网站好一、输入输出流 输入输出 ------- 读写文件 输入 ------- 从文件中获取数据到自己的程序中,接收处理【读】 输出 ------- 将自己程序中处理好的数据保存到文件中【写】 流 ------- 数据移动的轨迹 二、流的分类 按照数据的移动轨迹分为:输入流 输出流…

一、输入输出流

        输入输出 ------- 读写文件

        输入 ------- 从文件中获取数据到自己的程序中,接收处理【读】

        输出 ------- 将自己程序中处理好的数据保存到文件中【写】

        流 ------- 数据移动的轨迹

二、流的分类

        按照数据的移动轨迹分为:输入流   输出流

        按照每一次读写/数据量的大小将流分成:字节流    字符流

        字节流:每一次可读写一个字节的数据量,一个字节就是8位2进制,可处理任何类型的文

                      件【文本、图片、视频........】

        字符流:每一次可读写一个字符的数据量,一个字符就是16位2进制,只能处理文本类型的

                       文件

三、字节流相关类的使用

        字节输出流 --------- OutPutStream ------- 抽象类 ---------- 不能new --------- 需要找子类

        1.FileOutputStream类

        构造方法:

        FileOutputStream (File file) 通过File 对象创建一个不可追加的字节输出流

        FileOutoutStream (File file,boolean append) 通过File 对象创建一个可追加的字节输出流

        FileOutoutStream (String name) 通过字符串创建一个不可追加的字节输出流

        FileOutoutStream (String name,boolean append) 通过字符串创建一个可追加的字节输出流

public class FileOutputStreamDemo1 {public static void main(String[] args)throws Exception {String  path="F:"+File.separator+"test"+File.separator+"student.txt";//字节输出流--OutputStream--抽象类--FileOutputStream//FileOutputStream类的构造方法//FileOutputStream(String name) 通过String对象创建一个不可追加的字节输出流。  //参数String name--表示文件路劲【目标位置】OutputStream  out1=new FileOutputStream(path);FileOutputStream  out11=new FileOutputStream(path);//FileOutputStream(String name, boolean append)通过String对象创建一个是否追加的字节输出流。//参数1String name--表示文件路劲【目标位置】//参数2boolean append--是否允许追加【true-追加,false-不追加】OutputStream  out2=new FileOutputStream(path,true);FileOutputStream  out22=new FileOutputStream(path,true);//推荐使用File  file=new File(path);//FileOutputStream(File file) 通过File对象创建一个不可追加的字节输出流。 //参数File file--表示文件路劲【目标位置】OutputStream  out3=new FileOutputStream(file);FileOutputStream  out33=new FileOutputStream(file);//FileOutputStream(File file, boolean append) 通过File对象创建一个是否追加的字节输出流。//参数1File file--表示文件路劲【目标位置】//参数2boolean append--是否允许追加【true-追加,false-不追加】OutputStream  out4=new FileOutputStream(file,true);FileOutputStream  out44=new FileOutputStream(file,true);}
}

        实例方法:

        void write (byte[ ]  b) 将b.length个字节从字节数组写入此文件输出流

        void write (byte[ ] b,int off , int len) 将 len字节从位于偏移量 off的指定字节数组写入

        void write (int b) 将指定的字节写入此文件输出流

        void close( ) 关闭文件输出流并释放与此相关的任何系统资源

public class TestFileOutputStream {public static void main(String[] args) throws Exception{String filepath = "F:"+         File.separator+"wangxinghomework"+File.separator+"20230902"+File.separator+"test.txt";File file = new File(filepath);FileOutputStream fileOutputStream = new FileOutputStream(file,true);String data = "hello,zhaomin";byte bytearray[] = data.getBytes();fileOutputStream.write(bytearray);fileOutputStream.close();
//fileOutputStream.write(bytearray,5,8);fileOutputStream.write(97);fileOutputStream.close();}
}

       2. 字节输入流 ------ InputStream ------ 抽象类 ------- 不能new ------- 找子类

        FileInputStream 构造方法:

        FileInputStream(File file) 通过File对象创建一个字节输入流

        FileInputStream(String name) 通过String对象创建一个字节输入流

public class TestFileInputStream {public static void main(String[] args) throws Exception{
//        FileInputStream类构造方法:
//        	FileInputStream(File file) 通过File对象创建一个字节输入流
//        	FileInputStream(String name) 通过String对象创建一个字节输入流String filepath = "F:"+ File.separator+"wangxinghomework"+File.separator+"20230902"+File.separator+"test.txt";File file = new File(filepath);FileInputStream fileInputStream = new FileInputStream(file);FileInputStream fileInputStream1 = new FileInputStream(filepath);}
}

       FileInputStream 实例方法:

       int read () 从该输入流读取一个字节的数据  ,返回值:读取到的具体字节数据的int型,如果到达文件末尾返回-1

        int read (byte[ ]  b) 从该输入流读取最多 b.length个字节的数据为字节数组 ,返回值:读取的总字节数, 如果到达文件末尾返回-1

        void    close() 关闭此文件输入流并释放与流相关联的任何系统资源

public class TestFileInputStream {public static void main(String[] args) throws Exception{String filepath = "F:"+ File.separator+"wangxinghomework"+File.separator+"20230902"+File.separator+"test.txt";File file = new File(filepath);FileInputStream fileInputStream = new FileInputStream(file);//读取一个字节read()int value = fileInputStream.read();String str1 = String.valueOf(value);//转成字符串String类型fileInputStream.close();System.out.println(str1+"ok");//	int	read(byte[] b) 从该输入流读取最多 b.length个字节的数据为字节数组//定义一个字节型数组,用来保存读出的数据byte bytearray[] = new byte[(int) file.length()];//定义一个临时保存读取来的数据int temp = 0;//定义一个数组下标int index = 0;while ((temp=fileInputStream.read()) != -1){bytearray[index] = (byte)temp;index++;}String str = new String(bytearray);System.out.println(str);fileInputStream.close();}
}

     3.DataOutputStream

        DataOutputStream 构造方法:

        DataInputStream(InputStream  in) 创建使用指定的底层InputStream的DataInputStream

        DataOutputStream 实例方法:

void    writeBoolean(boolean v)将 boolean写入底层输出流作为1字节值
void    writeByte(int v)将 byte作为1字节值写入底层输出流
void    writeChar(int v)将 char写入底层输出流作为2字节值,高字节优先
void    writeDouble(double v)双参数传递给转换 long使用 doubleToLongBits方法在类 Double,然后写入该 long值基础输出流作为8字节的数量,高字节
void    writeFloat(float v)浮子参数的转换 int使用 floatToIntBits方法在类 Float ,然后写入 该 int值基础输出流作为一个4字节的数量,高字节。 
void    writeInt(int v)将底层输出流写入 int作为四字节,高位字节
void    writeLong(long v)将 long写入底层输出流,为8字节,高字节为首
void    writeShort(int v)将 short写入底层输出流作为两个字节,高字节优先
void    writeUTF(String str)使用 modified UTF-8编码以机器无关的方式将字符串写入基础输出流
void    flush()刷新此数据输出流
void    close()关闭此输出流并释放与此流相关联的任何系统资源
package com.homework.inouttest;import java.io.DataOutputStream;
import java.io.File;
import java.io.FileOutputStream;public class TestDataOutputStream {public static void main(String[] args) throws Exception{//构造方法//DataOutputStream(OutputStream out) 创建一个新的数据输出流,以将数据写入指定的底层输出流。String filepath = "F:"+ File.separator+"wangxinghomework"+File.separator+"20230902"+File.separator+"test1.txt";File file = new File(filepath);FileOutputStream out = new FileOutputStream(file,true);DataOutputStream dataOutputStream = new DataOutputStream(out);//DataOutputStream类的实例方法//	void	writeBoolean(boolean v) 将 boolean写入底层输出流作为1字节值。dataOutputStream.writeBoolean(true);//	void	writeByte(int v) 将 byte作为1字节值写入底层输出流。dataOutputStream.writeByte(97);//	void	writeChar(int v) 将 char写入底层输出流作为2字节值,高字节优先。dataOutputStream.writeChar('b');//	void	writeDouble(double v) 双参数传递给转换 long使用 doubleToLongBits方法在类 Double ,		然后写入该 long值基础输出流作为8字节的数量,高字节。dataOutputStream.writeDouble(16.2);//	void	writeFloat(float v) 浮子参数的转换 int使用 floatToIntBits方法在类 Float ,然后写入		该 int值基础输出流作为一个4字节的数量,高字节。dataOutputStream.writeFloat(17.2f);//	void	writeInt(int v) 将底层输出流写入 int作为四字节,高位字节。dataOutputStream.writeInt(23);//	void	writeLong(long v) 将 long写入底层输出流,为8字节,高字节为首。//	void	writeShort(int v) 将 short写入底层输出流作为两个字节,高字节优先。//	void	writeUTF(String str) 使用 modified UTF-8编码以机器无关的方式将字符串写入基础输出流dataOutputStream.writeUTF("wo ai ni");//	void	flush() 刷新此数据输出流。dataOutputStream.flush();//	void	close() 关闭此输出流并释放与此流相关联的任何系统资源。dataOutputStream.close();}
}

         4.DataInputStream类

            DataInputStream类构造方法

            DataInputStream(InputStream  in)创建使用指定的底层InputStream的DataInputStream。

            DataInputStream类实例方法

boolean    readBoolean() 
byte    readByte()
char    readChar()
double    readDouble() 
float    readFloat()
int    readInt()
long    readLong()
short    readShort()
String    readUTF()
void    close()
package com.homework.inouttest1;import java.io.DataInputStream;
import java.io.File;
import java.io.FileInputStream;public class TestDataInputStream {public static void main(String[] args) throws Exception{//构造方法//DataInuptStream(InputStream in)String filepath = "F:"+ File.separator+"wangxinghomework"+File.separator+"20230902"+File.separator+"test1.txt";File file = new File(filepath);FileInputStream inputStream = new FileInputStream(file);DataInputStream dataInputStream = new DataInputStream(inputStream);//实例方法//boolean	readBoolean()boolean flag = dataInputStream.readBoolean();//byte	readByte()byte byt = dataInputStream.readByte();//	char	readChar()char cha = dataInputStream.readChar();//	double	readDouble()double dou = dataInputStream.readDouble();//	float	readFloat()float flo = dataInputStream.readFloat();//	int	readInt()int in = dataInputStream.readInt();//	long	readLong()//	short	readShort()//	String	readUTF()String str = dataInputStream.readUTF();//	void	close()dataInputStream.close();System.out.println(flag+","+byt+","+cha+","+dou+","+flo+","+in+","+str);}
}

        优点:可以直接写出基本数据类型的数据和String,且不需要转换成字节数组
        缺点:保存到文件中的数据是乱码

      5.序列化

        将一个java对象转换成2进制流数据过程,因为我们做操作的java对象可能需要在多台计算机之间传递

        如何实现序列化?

        (1).为被序列化的java对象的生成类实现一个序列化接口【Serializable】
            public interface Serializable特殊----该接口中一个方法都没有,类的序列化由实现java.io.Serializable接口的类启用。不实现此接口的类将不会使任何状态序列化或反序列化。
可序列化类的所有子类型都是可序列化的。

        (2).通过java提供ObjectOutputStream类的writeObject(Object obj)

             ObjectOutputStream的构造方法
             ObjectOutputStream(OutputStream out) 创建一个写入指定的OutputStream的ObjectOutputStream。 
             实例方法
              void    writeObject(Object obj) 将指定的对象写入ObjectOutputStream。

        6.反序列化

           将2进制流数据转换成java对象的过程,需要ObjectInputStream类的Object  readObject()方法读取对象

           ObjectInputStream类的构造方法
                    ObjectInputStream(InputStream  in)
            ObjectInputStream类的实例方法
                    Object    readObject() 从ObjectInputStream读取一个对象

package com.homework.inouttest1;import java.io.Serializable;public class Student implements Serializable {//实例方法,测试用public void learn(){System.out.println("Student类的实例方法");}
}
package com.homework.inouttest;import com.homework.inouttest1.Student;import java.io.File;
import java.io.FileOutputStream;
import java.io.ObjectOutputStream;//ObjectOutputStream(Object obj)
public class ObjectOutTest {public static void main(String[] args) throws Exception{String filepath = "F:"+ File.separator+"student.txt";File file = new File(filepath);FileOutputStream outputStream = new FileOutputStream(file);ObjectOutputStream out = new ObjectOutputStream(outputStream);Student student = new Student();out.writeObject(student);out.close();outputStream.close();}
}
package com.homework.inouttest1;import java.io.File;
import java.io.FileInputStream;
import java.io.ObjectInputStream;public class ObjectInputTest {public static void main(String[] args) throws Exception{String filepath =  "F:"+ File.separator+"student.txt";File file = new File(filepath);FileInputStream fileInputStream = new FileInputStream(file);ObjectInputStream in = new ObjectInputStream(fileInputStream);Object objstudent=in.readObject();Student studentst = (Student)objstudent;in.close();fileInputStream.close();studentst.learn();}
}

从D盘复制jpg类型文件到H盘

package com.homework.inouttest;import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;public class CopyTest {public static void main(String[] args)throws Exception {//定义D盘路径String filepath = "D:"+ File.separator;//创建文件对象File file = new File(filepath);//获取D盘所有文件名称File myfilelist[] = file.listFiles();for (File d_file:myfilelist) {String filename = d_file.getName();int houzhui = filename.lastIndexOf(".");if (houzhui != -1){String houzhuiname = filename.substring(houzhui);if (houzhuiname.equals(".jpg")) {//拼接文件路径String jpgpath = filepath + filename;FileInputStream fileInputStream = new FileInputStream(jpgpath);//定义H盘路径String newpath = "H:"+filename;File newfile = new File(newpath);FileOutputStream fileOutputStream = new FileOutputStream(newfile);int temp = 0;while ((temp = fileInputStream.read()) != -1) {fileOutputStream.write(temp);}fileInputStream.close();fileOutputStream.close();}}}}
}

http://www.tj-hxxt.cn/news/100000.html

相关文章:

  • 网站站点创建成功是什么意思网站推广费用一般多少钱
  • 网站备案喷绘郑州网络推广报价
  • 网站开发是用模版还是纯手打厦门搜索引擎优化
  • 梧州网站建设设计新闻稿发布软文平台
  • wordpress laravel百度seo关键词优化推荐
  • 手机网站排名优化石家庄seo结算
  • 时时彩网站怎么建设今日热搜新闻头条
  • 江西建设厅网站财务部深圳市网络品牌推广
  • 巩义做网站汉狮网络广州番禺发布
  • 苏州建站仿站网店网络推广方案
  • 未来最挣钱的十大行业排行榜windows优化大师的优点
  • 为什么要做网站安卓优化大师老版本下载
  • 申请办理公司温州seo按天扣费
  • 电力行业做的好的招投标网站注册域名后怎么建网站
  • 如何做网站安全扫描安徽建站
  • 福州论坛网手机百度关键词优化
  • 网上国网app下载交电费seo产品是什么意思
  • 企业官方网站开发外包长沙官网seo收费
  • 求职网站网页模板下载seo优化是怎么回事呢
  • 郑州一站式网站搭建搭建网站
  • 三网合一网站建设系统 价格网络推广100种方式
  • 建设银行住房租赁品牌来宾网站seo
  • 网站如何做聚合页面长沙网站搭建关键词排名
  • 如何做各大网站广告链接程序员培训班要多少钱
  • 新网站建设咨询企业网络营销
  • ppt免费模板哪个网站好新品上市怎么推广词
  • 在信息发布网站建设外链谷歌代运营
  • GMOD建设网站开服线上广告平台
  • 做建网站网上推广的平台有哪些
  • 网站开发费用如何记账百度客服人工电话多少