java文件传输之文件编码和File类的使用

时间:2021-08-18 23:25:14

---恢复内容开始---

我们知道,在用户端和服务端之间存在一个数据传输的问题,例如下载个电影、上传个照片、发一条讯息。在这里我们

就说一下文件的传输。

1.文件编码

相信大家小时候玩过积木(没玩过也看过吧),看到一个积木房子,很漂亮,买下来了,那要怎么拿回家呢,当然是

先把积木房子打散,装到袋子里,拿回家后再拼起来。这就很像我们这里的文件编码,在文件传输时,要对内容进行

特定编码方式的编码,转化为字节进行传输,然后再通过相同的编码方式进行解码转化为原先的文件。

我们同样以代码的方式解释一下:

字符串==>字节数组

java文件传输之文件编码和File类的使用

上面将字符串转化为字节数组是采用了默认的编码方式GBK,这个编码方式可以在项目属性里面更改,具体步骤自

行百度,然而我们是可以在不改变项目编码方式的前提下,自定义转换的编码方式:

java文件传输之文件编码和File类的使用

我们不难看出,对于相同的字符串“桔子桑”,GBK编码下一个中文占两个字节,而UTF-8编码下,

一个中文占三个字节,作为补充,我们也要知道,英文在两种编码下都只占一个字节。

注意:java是双字节编码(utf-16be)即中文占两个字节,英文也占两个字节。

 字节数组==>字符串

上面我们提到过,是以什么方式转码的就以什么方式解码

java文件传输之文件编码和File类的使用

由于java项目是规定了编码方式的,假如a项目是GBK编码,b项目是UTF-8编码,那么

a项目下创建一个txt文件复制到b项目是会出现乱码的,因为两个项目的编码方式不同。

2.File类常用API介绍

java文件传输之文件编码和File类的使用

上面是一个读取指定目录下所有文件(夹)的方法showfiles(File file)。通过传入一个File对象new File("E:\\demo"),

实现输出该目录下所有文件(夹)的路径。

java文件传输之文件编码和File类的使用的更多相关文章

  1. Java第二十九天,文件及目录的管理,File类

    一.基础知识点 1.路径分隔符 (1)什么是路径分隔符? 这个多被应用在环境变量设置当中,例如当我设置Path环境变量时,多个环境变量的路径要用 ':'(Windows系统用封号分隔)或 ':'(Li ...

  2. 三、Socket之UDP异步传输文件-多文件传输和文件MD5校验

    本文接着上一篇文章二.Socket之UDP异步传输文件,在上一篇文章的基础上实现多文件的传输和文件传输完成后进行完整性校验. 要实现多文件的传输,必须要对文(2)中发送文件的数据格式进行改进,必须加入 ...

  3. 2017.12.20 Java中的 IO/XML学习总结 File类详细

    IO / XML 一.File类 1.定义/概念 Java是面向对象的语言,要想把数据存到文件中,就必须要有一个对象表示这个文件.File类的作用就是代表一个特定的文件或目录,并提供了若干方法对这些文 ...

  4. java基础之-I/O流和File类解析

    在日常的java开发中少不了文件的读取和 写入,这就涉及到文件的I/O操作,今天就来总结下文件的IO操作,顺便文件的IO操作也需要File了的帮助,所以一起总结了. 以下图片为我根据其他博客所总结的内 ...

  5. 【Java基础】【19异常&IO(File类)】

    19.01_异常(异常的概述和分类) A:异常的概述 异常就是Java程序在运行过程中出现的错误. B:异常的分类 通过API查看Throwable Error 服务器宕机,数据库崩溃等 Except ...

  6. java基础9(IO流)-File类

    File类 File:文件和目录路径名的抽象表示形式.即java中把文件或者目录都封装成File对象 代码练习1 import java.io.File; public class FileDemo1 ...

  7. [Java开发之路](6)File类的使用

    1. 构造方法 构造方法 描写叙述 File(String pathname) 通过将给定的路径名字符串转换为抽象路径名来创建一个新的文件实例. File(String parent , String ...

  8. File类的特点?如何创建File类对象?Java中如何操作文件内容,什么是Io流Io流如何读取和写入文件?字节缓冲流使用原则?

    重难点提示 学习目标 1.能够了解File类的特点(存在的意义,构造方法,常见方法) 2.能够了解什么是IO流以及分类(IO流的概述以及分类) 3.能够掌握字节输出流的使用(继承体系结构介绍以及常见的 ...

  9. java基础文件,File类

    此文参考自"Java SE程序设计" 编著: 青岛东合信息技术有限公司 算是做笔记,以后想看可以翻阅,顺便分享出来大家可以参照.如有侵权,请联系本人删除 文件 文件是相关记录或放在 ...

随机推荐

  1. spring 整合 ActiveMQ

    1.1     JMS简介 JMS的全称是Java Message Service,即Java消息服务.它主要用于在生产者和消费者之间进行消息传递,生产者负责产生消息,而消费者负责接收消息.把它应用到 ...

  2. MyBatis的几种批量操作

    MyBatis中批量插入 方法一: <insert id="insertbatch" parameterType="java.util.List"> ...

  3. applicationContext&period;xml存放的位置

    web.xml中classpath:和classpath*:  有什么区别? classpath:只会到你的class路径中查找找文件; classpath*:不仅包含class路径,还包括jar文件 ...

  4. 검색엔진의 크롤링과 인덱싱의 차이 &lpar;robots&period;txt 파일과 meta robots 태그의 차이점&rpar;

    검색엔진의 크롤링과 인덱싱의 차이크롤링 제어는 robots.txt인덱싱 제어는 < meta name="robots" content="noindex& ...

  5. Spring Mvc 笔记二之异常和文件上传

    spring mvc的异常与文件上传 1.异常: spring注解版的异常有局部异常和全局异常                1.局部异常对单个controller有效;(在controller类写一 ...

  6. UESTC&lowbar;酱神赏花 2015 UESTC Training for Dynamic Programming&lt&semi;Problem C&gt&semi;

    C - 酱神赏花 Time Limit: 3000/1000MS (Java/Others)     Memory Limit: 262143/262143KB (Java/Others) Submi ...

  7. java对对象或者map的属性进行排序

    package com.xkj.spider.mpb.util; import java.lang.reflect.Method; import java.util.HashMap; import j ...

  8. recovery 升级过程执行自定义shell命令

    有时候我们需要,在升级的过程中,执行一些shell命令,来完成我们的一些需求,利用升级过程,进行一些特殊化的操作,思路如下: 第一: 把我们需要执行的命令,写成一个test.sh脚本,然后在recov ...

  9. CSS十大选择器

    CSS十大选择器:   1.id选择器 # 2.class选择器 句号 . 3.标签选择器 标签名称 4.相邻选择器 加号 + 5.后代选择器 空格 6.子元素选择器 大于号 > 7.多元素  ...

  10. zzuli 1432&lpar;二进制特点&rpar;

      1432: 背包again Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 222  Solved: 65 SubmitStatusWeb Board ...