为了账号安全,请及时绑定邮箱和手机立即绑定

文件传输基础——Java IO流

难度入门
时长 2小时 0分
学习人数
综合评分9.67
669人评价 查看评价
9.9 内容实用
9.6 简洁易懂
9.5 逻辑清晰
  • 1111
    查看全部
  • IO处理文件时,完成后记得关闭文件
    查看全部
  • 在eclipse项目下创建的项目可以指定项目的编码形式。eclipse默认的“GBK”编码不能识别“utf-8”的文件。若是将eclipse中创建的“utf-8”文件复制到电脑上是可以识别的,但是!在电脑本地上创建的“utf-8”文件,电脑识别不了。。“外来的和尚会念经啊”
    查看全部
    0 采集 收起 来源:文件的编码

    2017-02-27

  • 如果需要创建一级目录,调用file.mkdir方法,如果需要创建多级目录,需要调用file.mkdirs方法
    查看全部
    0 采集 收起 来源:遍历目录

    2017-02-26

  • 字符流的过滤器: BufferedReader:readLine 一次读一行 BufferedWriter/PrintWriter: 一次写一行 public class BrAndBwOrPwDemo { public static void main(String[] args) throws IOException { // 对文件进行读写操作 BufferedReader br = new BufferedReader(new InputStreamReader( new FileInputStream("e:\\javaio\\file.txt"))); // BufferedWriter bw = new BufferedWriter(new OutputStreamWriter( // new FileOutputStream("e:\\javaio\\file3.txt"))); PrintWriter pw = new PrintWriter("e:\\javaio\\file4.txt"); String line; while ((line = br.readLine()) != null) { System.out.println(line);// 一次读一行,并不能识别换行 // bw.write(line); // //单独写出换行操作 // bw.newLine();//换行操作 // bw.flush(); pw.println(line); pw.flush(); } br.close(); // bw.close(); pw.close(); } }
    查看全部
  • FileWriter/FileReader: public class FrAndFwDemo { public static void main(String[] args)throws IOException { FileReader fr = new FileReader("e:\\javaio\\imooc.txt"); FileWriter fw = new FileWriter("e:\\javaio\\imooc2.txt"); // FileWriter fw = new FileWriter("e:\\javaio\\imooc2.txt",true);//往里追加内容 char[] buffer = new char[2056];//批量的字符读取 int c; //读到-1再结束 while((c = fr.read(buffer,0,buffer.length))!=-1){ fw.write(buffer,0,c); fw.flush(); } fr.close(); fw.close(); } }
    查看全部
  • 字符流操作的是文本文件 public static void main(String[] args)throws IOException { FileInputStream in = new FileInputStream("e:\\javaio\\imooc.txt"); // InputStreamReader isr = new InputStreamReader(in,"utf-8"); InputStreamReader isr = new InputStreamReader(in); // 默认项目的编码 // InputStreamReader isr = new InputStreamReader(in,"utf-8"); FileOutputStream out = new FileOutputStream("e:\\javaio\\FileUtilsutf-8.txt"); OutputStreamWriter osw = new OutputStreamWriter(out,"utf-8"); char[] buffer = new char[8*1024]; int c ; // 批量读取,放入buffer这个字符数组,从第0个位置开始放置,最多放buffer.length个,返回的是读到的字符的个数 while((c = isr.read(buffer,0,buffer.length))!=-1){ String s = new String(buffer,0,c); System.out.print(s); osw.write(buffer,0,c); osw.flush } isr.close(); osw.close(); }
    查看全部
  • 字符流 1) 编码问题 2) 认识文本和文本文件 java的文本(char)是16位无符号整数,是字符的unicode编码(双字节编码) 文件是byte byte byte...的数据序列 文本文件是文本(char)序列按照某种编码方案(utf-8,uyf-16be,gbk)序列化为byte的存储结果 3) 字符流(Reader Writer) 字符的处理:一次处理一个字符 字符的底层仍然是基本的字节序列 字符流的基本实现 InputStreamReader 完成byte流解析为char流,按照编码解析 OutputStreamWriter 提供char流到byte流,按照编码处理
    查看全部
  • 用缓冲流实现拷贝操作
    查看全部
    0 采集 收起 来源:字节缓冲流

    2017-02-25

  • BufferedInputStream和BufferedOutputStream 这两个流类为IO提供了带缓冲区的操作,一般打开文件进行写入或读取操作时,都会加上缓冲,这种流模式提高了IO的性能 从应用程序中把输入放入文件,相当于将一缸水倒入到另一个缸中: FileOutputStream的write()方法相当于一滴一滴地把水“转移”过去; DataOutputStream的writeXxx()方法相当于一瓢一瓢把水“转移”过去; BufferedOutputStream的write()方法更方便一些,相当于一瓢一瓢先放入 桶中,在从桶中倒入到另外一个罐中。
    查看全部
    0 采集 收起 来源:字节缓冲流

    2017-02-25

  • DataOutputStream/DataInputStream:对“流”功能的扩展,可以更加方便的读取int、long、字符等类型数据 DataOutputStream类 writeInt()/writeDouble()/writeUTF() 实例化:DataOutputStream dos = new DataOutputStream(new FileOutputStream("demo/dos,dat")); //采用utf-8编码写出 dos.writeUTF("先森"); //采用utf-16be编码写出 dos.writeChars("先森"); DataInputStream类: readInt()/readLong()/readDouble()/readUTF() DataInoutStream dis = new DataInputStream(new FileInputStream("demo/dos.dat")); int i = dis.readInt(); System.out.println(i);
    查看全部
  • 拷贝文件 public static void copyFile(File srcFile,File destFile)throws IOException{ if(!srcFile.exists()){ throw new IllegalArgumentException("文件:" + srcFile + "不存在"); } if(!srcFile.isFile()){ throw new IllegalArgumentException(srcFile + "不是文件"); } FileInputStream in = new FileInputStream(srcFile); FileOutputStream out = new FileOutputStream(destFile); byte[] buf = new byte[8 * 1024]; int b ; while((b = in.read(buf,0,buf.length))!=-1){ out.write(buf,0,b); out.flush(); // 最好加上 } in.close(); out.close(); }
    查看全部
  • FileOutputStream实现了向文件中写出byte数据的方法 //如果该文件不存在,则直接创建,如果存在,删除后创建 FileOutputStream out = new FileOutputStream("demo/out.dat");
    查看全部
  • 通过&0xff将高24位清零
    查看全部
  • public static void printHexByByteArray(String fileName)throws IOException{ FileInputStream in = new FileInputStream(fileName); byte[] buf = new byte[20 * 1024]; //从in中批量读取字节,放入到buf这个字节数组中,从第0个位置开始放,最多放buf.length个,返回的是读到的字节的个数 int bytes = in.read(buf,0,buf.length);//一次性读完,说明字节数组足够大 int j =0; for(int i = 0;i < bytes;i++){ if(buf[i] <= 0xf){ System.out.print("0"); } System.out.print(Integer.toHexString(buf[i]) + " "); if(j++%10==0){ System.out.println(); } } }
    查看全部

举报

0/150
提交
取消
课程须知
亲,为了更好的学习本门课程,需要您对二进制的知识有所了解,还要熟悉Java的基本语法和面向对象的知识。
老师告诉你能学到什么?
1、了解文件编码。 2、能够对文件和目录进行管理操作。 3、能够应用字节流和字符流对文件进行读写操作。 4、能够对对象进行序列化和反序列化。

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!