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

做类似淘宝的网站需多少资金优化网站制作方法大全

做类似淘宝的网站需多少资金,优化网站制作方法大全,晋宁网站建设,怎么给一个网站做seo系列文章目录 文章目录 系列文章目录前言一、文件的编码二、File类的使用三、RandomAccessFile类的使用 前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用…

系列文章目录


文章目录

  • 系列文章目录
  • 前言
  • 一、文件的编码
  • 二、File类的使用
  • 三、RandomAccessFile类的使用


前言

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。
在这里插入图片描述


一、文件的编码

package com.study.io;/*** 测试文件编码*/
public class EncodeDemo {/*** @param args* @throws Exception*/public static void main(String[] args) throws Exception {String s="好好学习ABC";byte[] bytes1=s.getBytes();//这是把字符串转换成字符数组,转换成的字节序列用的是项目默认的编码(这里为UTF-8)for (byte b : bytes1) {//把字节(转换成了int)以16进制的方式显示System.out.print(Integer.toHexString(b & 0xff)+" ");//& 0xff是为了把前面的24个0去掉只留下后八位}System.out.println();/*utf-8编码中中文占用3个字节,英文占用1个字节*/byte[] bytes2 = s.getBytes("utf-8");//这里会有异常展示,我们就throw这个异常for (byte b : bytes2) {System.out.print(Integer.toHexString(b & 0xff)+" ");}System.out.println();/*gbk编码中文占用2个字节,英文占用1个字节*/byte[] bytes3 = s.getBytes("gbk");//这里会有异常展示,我们就throw这个异常for (byte b : bytes3) {System.out.print(Integer.toHexString(b & 0xff)+" ");}System.out.println();/*utf-16be编码中文占用2个字节,英文占用2个字节*/byte[] bytes4 = s.getBytes("utf-16be");//这里会有异常展示,我们就throw这个异常for (byte b : bytes4) {System.out.print(Integer.toHexString(b & 0xff)+" ");}System.out.println();/*当你的字节序列是某种编码时,这个时候想把字节序列变成字符串,也需要用这种编码方式,否则会出现乱码*/String str1=new String(bytes4);//这时会使用项目默认的编码来转换,可能出现乱码System.out.println(str1);//要使用字节序列的编码来进行转换String str2=new String(bytes4,"utf-16be");System.out.println(str2);}
}

分析:

    1. “& 0xff”的解释:
  • 0xFF表示的是16进制(十进制是255),表示为二进制就是“11111111”。

  • 那么&符表示的是按位数进行与(同为1的时候返回1,否则返回0)

  • 2.字节byte与int类型转换:

  • Integer.toHexString(b & 0xff)这里先把byte类型的b和0xff进行了运算,然后Integer.toHexString取得了十六进制字符串

  • 可以看出b & 0xFF运算后得出的仍然是个int,那么为何要和 0xFF进行与运算呢?直接 Integer.toHexString(b);,将byte强转为int不行吗?答案是不行的.

  • 其原因在于:1.byte的大小为8bits而int的大小为32bits;2.java的二进制采用的是补码形式

  • Integer.toHexString的参数是int,如果不进行&0xff,那么当一个byte会转换成int时,由于int是32位,而byte只有8位这时会进行补位。。。。。。

  • 所以,一个byte跟0xff相与会先将那个byte转化成整形运算,这样,结果中的高的24个比特就总会被清0,于是结果总是我们想要的。

  • 3.utf-8编码:中文占用3个字节,英文占用1个字节

  • gbk编码:中文占用2个字节,英文占用1个字节

  • Java采用双字节编码(就是Java中的一个字符占两个字节)是utf-16be编码。中文占用2个字节,英文占用2个字节

  • 4.当你的字节序列是某种编码时,这个时候想把字节序列变成字符串,也需要用这种编码方式,否则会出现乱码

  • 5.文本文件 就是字节序列。可以是任意编码的字节序列。

  • 如果我们在中文机器上直接创建文本文件,那么该文件只认识ANSI编码(例如直接在电脑中创建文本文件)

  • 在这里插入图片描述

二、File类的使用

package com.study.io;import java.io.File;/*** File类的使用*/
public class FileDemo {/*java.iO.File类表示文件或目录File类只用于表示文件或目录的信息(名称,大小等),不能用于文件内容的访问。*/public static void main(String[] args) {File file=new File("D:\\111");//创建文件对象时指定目录需要用双斜杠,因为“\”是转义字符/*目录的中间的分隔符可以用双斜杠,也可以用反斜杠,也可以用File.separator设置分隔符*/
//        File file1=new File("d:"+File.separator);
//        System.out.println(file.exists());//exists()判断文件或文件夹是否存在if(!file.exists()){//如果文件不存在file.mkdir();//创建文件夹mkdir(),还有mkdirs()创建多级目录}else{file.delete();//删除文件或文件夹}//判断是否是一个目录isDirectory,如果是目录返回true,如果不是目录或者目录不存在返回falseSystem.out.println(file.isDirectory());//判断是否是一个文件isFileSystem.out.println(file.isFile());File file2=new File("D:\\222","123.txt");//常用API:System.out.println(file);//打印的是file.toString()的内容System.out.println(file.getAbsolutePath());//获取绝对路径System.out.println(file.getName());//获取文件名称System.out.println(file2.getName());System.out.println(file.getParent());//获取父级绝对路径System.out.println(file2.getParentFile().getAbsolutePath());}
}

运行结果:

在这里插入图片描述
说明:

java.iO.File类表示文件或目录
File类只用于表示文件或目录的信息(名称,大小等),不能用于文件内容的访问。
常用的API:
1.创建File对象:File file=new File(String path);注意:File.seperater();获取系统分隔符,如:“\”.
2.boolean file.exists();是否存在.
3.file.mkdir();或者file.mkdirs();创建目录或多级目录。
4.file.isDirectory()判断是否是目录
file.isFile()判断是否是文件。
5.file.delete();删除文件或目录。
6.file.createNewFile();创建新文件。
7.file.getName()获取文件名称或目录绝对路径。
8.file.getAbsolutePath()获取绝对路径。
9.file.getParent();获取父级绝对路径。

❤❤1、遍历目录

package com.study.io;import java.io.File;
import java.io.IOException;/*** File工具类* 列出File类的常用操作,比如:过滤、遍历等操作*/
public class FileUtils {/*** 列出指定目录下(包括其子目录)的所有文件* @param dir* @throws IOException*/public static void listDirectory(File dir) throws IOException{if(!dir.exists()){//exists()方法用于判断文件或目录是否存在throw new IllegalArgumentException("目录:"+dir+"不存在");}if(!dir.isDirectory()){//isDirectory()方法用于判断File类的对象是否是目录throw new IllegalArgumentException(dir+"不是目录");}/*String[] fileNames = dir.list();//list()方法用于列出当前目录下的子目录和文件(直接是子目录的名称,不包含子目录下的内容),返回的是字符串数组for (String string : fileNames) {System.out.println(string);}*///如果要遍历子目录下的内容就需要构造成File对象做递归操作,File提供了直接返回File对象的APIFile[] listFiles = dir.listFiles();//返回的是直接子目录(文件)的抽象if(listFiles !=null && listFiles.length >0){for (File file : listFiles) {/*System.out.println(file);*/if(file.isDirectory()){//递归listDirectory(file);}else{System.out.println(file);}}}}
}

测试类:
1 public class FileUtilsTest1 {
2 public static void main(String[] args) throws IOException {
3 FileUtils.listDirectory(new File(“D:\ioStudy”));
4 }
5 }
运行结果:
在这里插入图片描述

三、RandomAccessFile类的使用

RandomAccessFile:java提供的对文件内容的访问,既可以读文件,也可以写文件。
RandomAccessFile支持随机访问文件,可以访问文件的任意位置。

注意 Java文件的模型:
在这里插入图片描述
示例代码:

package com.study.io;import java.io.File;
import java.io.IOException;
import java.io.RandomAccessFile;
import java.util.Arrays;/*** RandomAccessFile*/
public class RandomAccessFileDemo {public static void main(String[] args) throws IOException{File demo = new File("demo");if(!demo.exists()){demo.mkdir();}File file = new File(demo,"raf.dat");if(!file.exists()){file.createNewFile();}RandomAccessFile raf = new RandomAccessFile(file, "rw");//指针的位置System.out.println(raf.getFilePointer());raf.write('A');//只写了一个字节System.out.println(raf.getFilePointer());raf.write('B');int i = 0x7fffffff;//用write方法每次只能写一个字节,如果要把i写进去就得写4次raf.write(i >>> 24);//高8位raf.write(i >>> 16);raf.write(i >>> 8);raf.write(i);System.out.println(raf.getFilePointer());//可以直接写一个intraf.writeInt(i);String s = "中";byte[] gbk = s.getBytes("gbk");raf.write(gbk);System.out.println(raf.length());//读文件,必须把指针移到头部raf.seek(0);//一次性读取,把文件中的内容都读到字节数组中byte[] buf = new byte[(int)raf.length()];raf.read(buf);System.out.println(Arrays.toString(buf));for (byte b : buf) {System.out.println(Integer.toHexString(b & 0xff)+" ");}raf.close();}
}

运行结果:
View Code

http://www.hkea.cn/news/665469/

相关文章:

  • 青羊区定制网站建设报价搜索引擎营销方案
  • 淘宝优惠券查询网站怎么做域名备案官网
  • wordpress自定义url优化教程网下载
  • 模板网站和定制网站百度搜索引擎的网址
  • 企业建设网站公司哪家好app拉新推广接单平台
  • 老虎淘客系统可以做网站吗江西省水文监测中心
  • 高港区企业网站建设快速建站教程
  • 怎样写企业网站建设方案北京网站seo招聘
  • 做蛋糕视频的网站软文广告范文
  • h5自适应网站模板下载网站换友链平台
  • 政府网站建设及管理规范各大搜索引擎入口
  • poedit pro wordpress免费网站推广优化
  • 市场营销产品推广策划方案seo合作代理
  • 东莞专业网站建设推广搜索引擎网络排名
  • 服务器做网站用什么环境好销售营销方案100例
  • 如何做DJ网站英文seo外链
  • 网站统计源码下载百度推广的步骤
  • 本地网站建设seo推广的方法
  • 东莞好的网站建设效果seo和sem分别是什么
  • 最新版wordpress背景手机网络优化软件
  • 丛台企业做网站推广免费建一级域名网站
  • 集宁网站建设免费网站推广网站破解版
  • 网站建设域名的购买有域名和服务器怎么建网站
  • 深圳有什么网站长沙百度seo
  • 台州企业网站模板建站怎么在百度上做公司网页
  • 烟台网站建设联系企汇互联专业网站维护收费标准
  • 网络客户服务平台搜索优化推广公司
  • 建设网站技术方案线上教育培训机构十大排名
  • 沈阳人流seo优化师就业前景
  • 开发区网站制作公司seo关键词有话要多少钱