Java入门学习5

Java入门总结第六天

1. Io操作

读取文件

 import java.io.FileInputStream;

 public class FirstDemo{

 /**

java 文件读写

按流向划分 输入流(读取) 输出流(写操作)

按单位划分 字节流(可以读写文本、图像、音频、视频) 字符流(文本)

 */

 //入口方法

 public static void main(String[]args)throws Exception{

 //将桌面上的一个文件中的内容读取到计算机内存中

 //1.找到文件路径

 String path="C:\\Users\\Administrator\\Desktop\\个人总结\\试听第六天\\test.txt";

 //2.通过文件路径创建一个输入流对象

 //path代表要打开的文件路径

 FileInputStream input =new FileInputStream(path);

 //3.读取数据到计算机内存 以字节为单位

 //int len=input.read();//每次读取一个字节

 //System.out.println(len);

 //初始化一个字节数组,作为存储数据的缓冲区

 byte[]buf=new byte[10];

 int len=-1;//每次读取的字节数 如果返回-1表示结束  

 while((len=input.read(buf))!=-1){

 //对读取数据进行操作

 System.out.print(new String(buf,0,len));

 }

 //4.关闭流

 input.close();

 }

 }

输出结果

 

写文件

 import java.io.*;

 public class SecondDemo{  

 public static void main(String[]args)throws Exception{

 /**

将内存中的数据写入到一个指定的文件中

 */

 //1.创建一个写入的目的文件

 String name="test1.txt";

 //2.创建一个文件输出对象 打开文件流

 FileOutputStream out=new FileOutputStream(name);

 //3.写操作 从内存中 流数据到文件中

 String str="浪子一秋";

 //str 转换为一个字节数组

 byte[]b=str.getBytes();

 out.write(b);//b数组中所有数据写入到流中

 //out.write(b,offse,len);//从数组中指定位置写入长度

 //强制刷入流中

 out.flush();

 //4.关闭流

 out.close();

 }

 }

输出结果

 

文件夹中生成test.txt

练习题

从一个文件夹中copy一个文件到另一个文件夹中

 import java.io.*;

 public class Test{

 public static void main(String []args)throws Exception{

 //1.找到文件路径

 String path="C:\\Users\\Administrator\\Desktop\\test.txt";

 //2.通过文件路径创建一个输入流对象

 //path代表要打开的文件路径

 FileInputStream input =new FileInputStream(path);

 //3.读取数据到计算机内存 以字节为单位

 //初始化一个字节数组,作为存储数据的缓冲区

 byte[]buf=new byte[10];

 int len=-1;//每次读取的字节数 如果返回-1表示结束

 //4.创建一个写入的目的文件

 String name="Test.txt";

 //5.创建一个文件输出对象 打开文件流

 FileOutputStream out=new FileOutputStream(name);

 //6.写操作 从内存中 流数据到文件中

 while((len=input.read(buf))!=-1){

 //对读取数据进行操作

 String str=new String(buf,0,len);

 //str 转换为一个字节数组

 byte[]b=str.getBytes();

 out.write(b);

 //强制刷入流中

 out.flush();  

 }  

 //7.关闭流

 input.close();

 out.close();  

 }

 }

输出结果

 

此时的文件已被复制粘贴

2.序列化操作

 import java.io.*;

 import java.util.*;

 public class ThirdDemo{

 public static void save()throws Exception{

 //对象序列化操作==将对象放到一个指定的文件中

 //1.初始化一个ArrayList对象

 ArrayList<String>list=new ArrayList<>();

 //2.存放数据

 list.add("qq");

 //3.将数据写到指定文件中

 //初始化一个输出流对象 指定文件路径名称

 FileOutputStream out=new FileOutputStream("data");

 //初始化一个文件输出的对象,并关联输出流

 ObjectOutputStream objOut=new ObjectOutputStream(out);

 //将对象序列化

 objOut.writeObject(list);

 //关闭流

 objOut.close();

 out.close();

 }

 public static void read()throws Exception{

 //初始化一个输入流对象 指定文件路径名称

 FileInputStream input=new FileInputStream("data");

 //初始化一个文件输入的对象,并关联输出流

 ObjectInputStream in=new ObjectInputStream(input);

 //读取数据,还原对象

 //ArrayList<String>list=(ArrayList<String>)in.readObject();

 Object obj=in.readObject();

 //查看数据

 System.out.println(obj);

 //关闭流

 input.close();

 in.close();

 }

 //入口方法

 public static void main(String []args)throws Exception{

 //调用对象序列化

 save();  

 //对象反序列化

 read();

 }

 }

输出结果

 

3.知识框架

 

猜你喜欢

转载自blog.csdn.net/qq_41534115/article/details/81021668