复习笔记
[第四季]12.用FileOutputStream和FileWriter来输出文本信息的区别
1.FileOutputScream的使用方法
①new一个FileOutputScream,位置在”I:\001 学习\003 java\Java入门第四季\abc.txt”.变量名为fos
②定义一个文本变量str,存储”我爱北京天安门”.
③写入字符串到abc.txt文档中.用fos.write,str.getBytes方法.
④最后要关闭fos.
2.FileWriter使用方法
①new一个FileWriter,位置还是老样子.变量名字叫fw.
②同样的,顶一个字符变量,然后写入str+”hello i love you”.
③最后关闭,fw.
————–笔记结束——————–
12.用FileOutputStream和FileWriter来输出文本信息的区别
这次我们要在文件中写入文本
package javastudy;
//import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
public class Test1
{
public static void main(String[] args) throws IOException
{
//*************1******************
// FileOutputStream fos=new FileOutputStream("I:\\001 学习\\003 java\\Java入门第四季\\abc.txt");
// String str="我爱北京天安门!";
// fos.write(str.getBytes());
// fos.close();
//*************2******************
FileWriter fw=new FileWriter("I:\\001 学习\\003 java\\Java入门第四季\\abc.txt");
String str="I:\\001 学习\\003 java\\Java入门第四季\\abc.txt";
fw.write(str+"hello i love you");
fw.close();
}
}
复习笔记
[第四季]13.文件拷贝与BufferedXXX装饰类
1.用1024长的数组进行读写.
①new 一个FileInputStream,命名为fis.位置是”D:\javatestinput.rar”,
new一个FileOutputSteam,名字命名为fos,位置是”D:\javatestoutput.rar”
②并且定义一个int ch=0;定义一1024的长的位数组,名字为data.
③接下来读到字节数组中去
首先在while的括号里定义读入方式,用fis.read的方法,将数据读到data里面去.
然后将fis.read(data)赋值给ch,最后将ch=fis.read(data),包裹起来,编程bollean变量.判断其是否为-1,
如果为-1的话,那么说明这个变量说好了.
④读取完成了,接下来是写入的工作.
首先在和fis.read类似的,但是我们要在括号里写入另外两个参数,一个是0,一个是ch,这个不知道为什么,
后续查一查.
⑤最后是关闭,fis和fos.释放掉.
2.使用BufferedInputStream进行数据文件的读取
①这个就是把fis包装成bos(BufferedInputStream),用fis去read bos里面的数据.
②理所当然的要把bos所有的都改成bis.语句和1中的写法类似,只是替换了一些.
13.文件拷贝与BufferedXXX装饰类
FileInputStream和FileOutputStream的用法
package javastudy;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
//import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class Test1
{
public static void main(String[] args) throws IOException
{
FileInputStream fis=new FileInputStream("I:\\DontTouch.rar");
//*************3.BufferedInputStream******************
BufferedInputStream bis=new BufferedInputStream(fis);//装饰模式
FileOutputStream fos=new FileOutputStream("I:\\myfile.rar");
BufferedOutputStream bos=new BufferedOutputStream(fos);//包了一层
//*************1.一个一个字节的考,这个时间很长******************
int ch=0;
//*************2.定义读取的长度******************
//定义1024厂的数组
byte[] data=new byte[1024];
//读到字节数组中去
// while((ch=fis.read(data))!=-1)
// {
// fos.write(data,0,ch);
// System.out.println(ch);
//
// }
while((ch=bis.read(data))!=-1)
{
bos.write(data,0,ch);
System.out.println(ch);
//*************4.在处理大文件的时候效率会提升******************
}
fis.close();
fos.close();
//*************1.一个一个字节的考,这个时间很长******************
}
}