前言

在你立足处深挖下去,就会有泉水涌出!别管蒙昧者们叫嚷:“下边永远是地狱!”

博客主页:KC老衲爱尼姑的博客主页

博主的github,平常所写代码皆在于此

刷题求职神器

共勉:talk is cheap, show me the code

作者是爪哇岛的新手,水平很有限,如果发现错误,一定要及时告知作者哦!感谢感谢!


文章目录

  • File
    • 文件
      • 文件的类型
      • 文件系统
      • 文件路径
    • Java中操作文件
      • File
        • File的构造方法
        • File类的常用API
          • File类的判断文件类型、获取文件信息功能
          • File创建文件的功能
          • File删除文件的功能
          • File遍历文件夹
    • 字符集
      • 常见的字符集
        • ASCII字符集:
        • GBK:
        • Unicode码表:
        • 字符集的编码,解码操作
          • String编码
          • String解码
    • IO流
        • IO流体系
        • FileInputStream
        • FileOutputStream
        • 文件字符输入流:Reader
        • 文件字符输出流:FileWriter
      • 缓冲流概述
        • 字节缓冲流
        • 字符缓冲输入流
        • 字符缓冲输出流

File

文件

广义上的文件:

在Linux操作系统中会将其管理 的软硬件资源抽象成文件进行管理

如键盘,电脑需要读取用户从键盘上输入的东西,就是将键盘抽象成文件,读取该文件就能获取到用户的输入。

狭义上的文件:

存储在硬盘上的文件

比如普通文本,pdf文件,视频,音频,图片。

文件的类型

文件的类型通常以扩展名来体现,比如java文件的后缀是.java,一般的图片的后缀是.jpg,一般的文本文件的后缀是.txt。每种文件都有特定的格式,代表着该文件与二进制的 之间的映射关系。比如.md文件,其中可以包含图片,文字,字体颜色等。对于一种文件通常可以使用一个或者过个应用程序进行查看和编辑,一个应用程序可以解读一种或者多种文件。比如使用idea可以VS Code既可以打开普通文件又可以打开md文件。在操作系统上,一个扩展名通常关联一个程序,当用户双击某种文件时,操作系统会去寻找相关的程序,如果找到了会启动该程序,并将该文件的路径传递给它,程序再打开文件。

文件的类型可以大概分为以下两种:

  1. 文件文件

    比如文本文件,html文件,java文件。

  2. 二进制文件

    比如压缩文件,PDF文件,word文件。

区分文本文件与二进制文件的方法

在电脑上使用记事本打开,如果没有出现乱码则是文本文件,出现乱码则是二进制文件。

文件系统

文件一般存放在硬盘上,一台机器上可能有多个硬盘,但是操作系统都会隐藏物理硬盘的概念,提供一个逻辑上的统一结构,在windows中,可以有多个逻辑盘,如C,D,E等。每个盘都可以被格式化成一种不同的文件系统,

文件路径

在逻辑上,Windows中有多个根目录,每个根目录下有一棵子目录和文件构成的树。每个文件都有路径路径概念,路径有两种形式,一种是绝对路径:从盘符开始的路径,如:D:\game\植物僵尸。另一种是相对路径:是相对于当前目录而言,并且不以盘符开头。相对路径必须的有一个基准路径,以D:\game\植物僵尸为基准,在植物大战僵尸的目录下,要找到PlantsVsZombies.exe,则使用相对路径可以表示为./PlantsVsZombies.exe,此处的.表示为当前目录即D:\game\植物僵尸。

Java中操作文件

File

Java 中通过 java.io.File 类来对一个文件(包括目录)进行抽象的描述。该类相当于一个抽象的文件路径,能够在此路径中进行文件的创建,修改,删除等。但是不能读写文件的内容。

注意

  1. File对象可以定位文件和文件夹
  2. File封装的对象仅仅是一个路径名,该路径名可以存在 可以不存在。

File的构造方法

方法名称 说明
public File(String pathname) 根据文件路径创建文件对象
public File(String parent, String child) 从父路径名字符串和子路径名字符串创建文件对象
public File(File parent, String child) 根据父路径对应文件对象和子路径名字符串创建文件对象

代码示例

package com.kc.system.io;import java.io.File;public class FileDemo2 {public static void main(String[] args) {//定位到该绝对路径下的图片File f = new File("D:/picture/1.jpg");//输出文件的大小System.out.println(f.length());//使用相对路径定位到项目中的文件File file2 = new File("./bbb.txt");System.out.println(file2.length());File file3 = new File("D:/tools");System.out.println(file3.exists());}
}

File类的常用API

File类的判断文件类型、获取文件信息功能
方法名称 说明
public boolean isDirectory() 判断此抽象路径名表示的File是否为文件夹
public boolean isFile() 判断此抽象路径名表示的File是否为文件
public boolean exists() 判断此抽象路径名表示的File是否存在
public String getAbsolutePath() 返回此抽象路径名的绝对路径名字符串
public String getPath() 将此抽象路径名转换为路径名字符串
public String getName() 返回由此抽象路径名表示的文件或文件夹的名称
public long lastModified() 返回文件最后修改的时间(毫秒值)

代码示例

package com.kc.system.io;import java.io.File;
import java.text.SimpleDateFormat;public class FileDemo3 {public static void main(String[] args) {File  file = new File("D:\\game");//判断是否为文件System.out.println(file.isFile());//判断是否为文件夹System.out.println(file.isDirectory());//判断该文件存在System.out.println(file.exists());//获取绝对路径System.out.println(file.getAbsolutePath());//获得该路径表示的文件或者文件夹的名称System.out.println(file.getName());//将该路径转换成字符串System.out.println(file.getPath());//返回文件最后的修改时间System.out.println(  new SimpleDateFormat("yyyy/MM/dd HH:mm:ss").format(file.lastModified()));}
}
File创建文件的功能
方法名称 说明
public boolean createNewFile() 创建一个新的空的文件
public boolean mkdir() 只能创建一级文件夹
public boolean mkdirs() 可以创建多级文件夹

代码示例

package com.kc.system.io;import java.io.File;
import java.io.IOException;public class FileDemo4 {public static void main(String[] args) throws IOException {File file = new File("D:/Demo");//创建新的空的文件System.out.println(file.createNewFile());//创建一级文件夹File file2 = new File("D:/test");System.out.println(file2.mkdir());//创建多级文件夹File file3 = new File("D:/test/C/C++");System.out.println( file3.mkdirs());}
}
File删除文件的功能
方法名称 说明
public boolean delete() 删除由此抽象路径名表示的文件或空文件夹

代码示例

package com.kc.system.io;import java.io.BufferedReader;
import java.io.File;public class FileDemo5 {public static void main(String[] args) {File file = new File("D:/Demo");System.out.println(file.delete());File file3 = new File("D:/test/C/C++");System.out.println(file3.delete());}
}//结果
//true
//true

注意:

  1. delete方法默认只能删除文件和文件夹
  2. delete方法直接删除不走回收站
  3. 默认不能删除非空文件夹
File遍历文件夹
方法名称 说明
public String[] list() 获取当前目录下所有的"一级文件名称"到一个字符串数组中去返回。
public File[] listFiles() 获取当前目录下所有的"一级文件对象"到一个文件对象数组中去返回

代码示例

package com.kc.system.io;import java.io.File;
import java.util.Arrays;public class FileDemo6 {public static void main(String[] args) {File file = new File("D:/software");//获得该路径下文件的名称String[] list = file.list();System.out.println(Arrays.toString(list));File file2 = new File("D:/software");//获得该路径下所有文件对象的抽象路径System.out.println(Arrays.toString(file2.listFiles()));File file4 = new File("D:/demo");//文件夹不存在时System.out.println(Arrays.toString(file4.listFiles()));//抽象路径为文件(不是文件夹)时File file5 = new File("D:/demo.txt");System.out.println(Arrays.toString(file5.listFiles()));//当文件夹为空时File file6 = new File("D:/test");System.out.println(Arrays.toString(file6.listFiles()));}
}//运行结果
//[nacicat, PyCharm Community Edition 2022.2, python, 新版navicat及破解软件, 新版navicat及破解软件_2.rar]
//[D:\software\nacicat, D:\software\PyCharm Community Edition 2022.2, D:\software\python, D:\software\新版navicat及破解软件, D:\software\新版navicat及破解软件_2.rar]
//[]
//null
//[]

字符集

字符集的基础知识

  1. 字符:计算机世界中关于文字和符合的统称,如一个汉字,一个字符,一个标点符号等。
  2. 字符编码:,由于计算机只能识别二进制,而十进制于二进制是可以互相转换的,所以人们对现实世界中字符用十进制进行编号,这些字符转换成计算机能够识别的二进制的过程,则被称为字符编码。
  3. 字符集:由于每个国家的文字不一样的,文字的个数也不相同,进行编号的规则也有所差异,这种编号规则就是字符集。

常见的字符集

ASCII字符集:

  • ASCII(American Standard Code for Information Interchange,美国信息交换标准代码):包括了数字、英文、符号。
  • SCII使用1个字节存储一个字符,一个字节是8位,总共可以表示128个字符信息,对于英文,数字来说是够用的。

GBK:

  • window系统默认的码表。兼容ASCII码表,也包含了几万个汉字,并支持繁体汉字以及部分日韩文字。
  • 注意:GBK是中国的码表,一个中文以两个字节的形式存储。但不包含世界上所有国家的文字。

Unicode码表:

  • unicode(又称统一码、万国码、单一码)是计算机科学领域里的一项业界字符编码标准。
  • 容纳世界上大多数国家的所有常见文字和符号。
  • 由于Unicode会先通过UTF-8,UTF-16,以及 UTF-32的编码成二进制后再存储到计算机,其中最为常见的就是UTF-8。

注意

  1. Unicode是万国码,以UTF-8编码后一个中文一般以三个字节的形式存储。
  2. UTF-8也要兼容ASCII编码表。
  3. 技术人员都应该使用UTF-8的字符集编码。
  4. 编码前和编码后的字符集需要一致,否则会出现中文乱码。

汉字存储和解析过程

字符集的编码,解码操作

String编码
方法名称 说明
byte[] getBytes() 使用平台的默认字符集将该 String编码为一系列字节,将结果存储到新的字节数组中
byte[] getBytes(String charsetName) 使用指定的字符集将该 String编码为一系列字节,将结果存储到新的字节数组中
String解码
方法名称 说明
String(byte[] bytes) 通过使用平台的默认字符集解码指定的字节数组来构造新的 String
String(byte[] bytes, String charsetName) 通过指定的字符集解码指定的字节数组来构造新的 String

代码示例

package com.kc.system.io;import java.io.UnsupportedEncodingException;public class Demo6 {public static void main(String[] args) throws UnsupportedEncodingException {String str = "今天天气真好";//指定编码byte[] bytes = str.getBytes("UTF-8");//解码 将字节转换成中文(编码前后的字符集需要一致,否则会乱码)String s = new String(bytes,"UTF-8");System.out.println(s);}
}

IO流

现实世界中有水流,电流。所谓的IO流就是对文件读写,当程序需要读取数据时,就可以想象有一个数据源,而数据源与程序之间就有一条管道,管道中流动的东西就是数据,这些数据就从数据源流向程序,数据源可以是硬盘,内存。同理当程序需要向文件写入数据时就会开启一个通往目的地管道,需要写入的数据就会像水流一般流过去。

注意

  1. 输入和输出是相对于内存而言
  2. 流只能单方向流动
  3. 输入流用来读
  4. 输出流用来读

流的分类

按流的方向分

  • 输出流
  • 输入流

按流中数据最小的单位分

  • 字符流(任意文件)
  • 字节流(只能操作纯文本文件)

字节流使用

IO流体系

FileInputStream

作用:以内存为基准,把磁盘文件中的数据以字节的形式读取到内存中去。

构造器 说明
public FileInputStream(File file) 创建字节输入流管道与源文件对象接通
public FileInputStream(String pathname) 创建字节输入流管道与源文件路径接通
方法名称 说明
public int read() 每次读取一个字节返回,如果字节已经没有可读的返回-1
public int read(byte[] buffer) 每次读取一个字节数组返回,如果字节已经没有可读的返回-1

代码示例

package com.kc.system.io;import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;public class InputStreamDemo {public static void main(String[] args) throws IOException {InputStream inputStream = new FileInputStream("bbb.txt");int val;while ((val=inputStream.read())!=-1) {System.out.print(val+" ");}if (inputStream!=null) {inputStream.close();}}
}
//运行结果
//97 98 51 97 98 99 100 99 100 package com.kc.system.io;import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;public class InputStreamDemo2 {public static void main(String[] args) throws IOException {InputStream inputStream = new FileInputStream("bbb.txt");byte[] buffer = new byte[3];//用于存储从文件中读取的内容int len; // 记录每次读取的字节数。while ((len = inputStream.read(buffer)) != -1) {// 读取多少倒出多少System.out.print(new String(buffer, 0 , len));}if (inputStream!=null) {inputStream.close();}}
}
//运行结果
//ab3abcdcd

FileOutputStream

作用:以内存为基准,把内存中的数据以字节的形式写出到磁盘文件中去的流。

方法名称 说明
public FileOutputStream(File file) 创建字节输出流管道与源文件对象接通
public FileOutputStream(File file,boolean append) 创建字节输出流管道与源文件对象接通,可追加数据
public FileOutputStream(String filepath) 创建字节输出流管道与源文件路径接通
public FileOutputStream(String filepath,boolean append) 创建字节输出流管道与源文件路径接通,可追加数据

文件字节输出流(FileOutputStream)写数据出去的API

方法名称 说明
public void write(int a) 写一个字节出去
public void write(byte[] buffer) 写一个字节数组出去
public void write(byte[] buffer , int pos , int len) 写一个字节数组的一部分出去。

流的关闭与刷新

方法名称 说明
flush() 刷新流,还可以继续写数据
close() 关闭流,释放资源,但是在关闭之前会先刷新流。一旦关闭,就不能再写数据

代码示例

package com.kc.system.io;import java.io.FileOutputStream;
import java.io.OutputStream;public class OutputStreamDemo {public static void main(String[] args) throws Exception {//append设置为true表示为可以在文件后追加数据,不会将第一次的数据给刷了OutputStream outputStream = new FileOutputStream("bbb.txt",true);outputStream.write(97);outputStream.write(98);outputStream.write(99);byte [] buffer = new byte[]{100,101,102};outputStream.write(buffer);byte[] bytes = "1223".getBytes();outputStream.write(bytes,0,2);//为了避免频繁对硬盘操作,是先将数据放到缓冲区,然后数据在将数据磁写到文件outputStream.flush();//关闭前要刷新缓冲区,将剩余的数据全部写到文件if (outputStream!=null) {outputStream.close();}}
}

文件字符输入流:Reader

作用:以内存为基准,把磁盘文件中的数据以字符的形式读取到内存中去。

构造器 说明
public FileReader(File file) 创建字符输入流管道与源文件对象接通
public FileReader(String pathname) 创建字符输入流管道与源文件路径接通
方法名称 说明
public int read() 每次读取一个字符返回,如果字符已经没有可读的返回-1
public int read(char[] buffer) 每次读取一个字符数组,返回读取的字符个数,如果字符已经没有可读的返回-1

代码示例

package com.kc.system.io;import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.Reader;
import java.util.Arrays;public class FileWriteDemo {public static void main(String[] args) throws IOException {Reader reader = new FileReader("bbb.txt");
//        int read = 0;
//        while((read=reader.read())!=-1) {//            System.out.print((char)read+" ");
//        }char [] arr = new char[3];int read = 0;while ((read=reader.read(arr))!=-1) {System.out.print(Arrays.toString(arr));}reader.close();}
}
运行结果
[a, b, c][d, e, f][1, 2, f]

字符流的好处:读取中文字符不会出现乱码,因为是一个字符一个字符读取的。

文件字符输出流:FileWriter

作用:以内存为基准,把内存中的数据以字符的形式写出到磁盘文件中去的流

构造器 说明
public FileWriter(File file) 创建字符输出流管道与源文件对象接通
public FileWriter(File file,boolean append) 创建字符输出流管道与源文件对象接通,可追加数据
public FileWriter(String filepath) 创建字符输出流管道与源文件路径接通
public FileWriter(String filepath,boolean append) 创建字符输出流管道与源文件路径接通,可追加数据

文件字符输出流(FileWriter)写数据出去的API

方法名称 说明
void write(int c) 写一个字符
void write(char[] cbuf) 写入一个字符数组
void write(char[] cbuf, int off, int len) 写入字符数组的一部分
void write(String str) 写一个字符串
void write(String str, int off, int len) 写一个字符串的一部分

流的关闭与刷新

方法 说明
flush() 刷新流,还可以继续写数据
close() 关闭流,释放资源,但是在关闭之前会先刷新流。一旦关闭,就不能再写数据

代码示例

package com.kc.system.io;import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;public class FileWriterDemo {public static void main(String[] args) throws IOException {//数据追加Writer writer = new FileWriter("bbb.txt",true);writer.write("124");writer.write(new char []{'a','b','c','d'},0,2);writer.write(new char []{'e','f','g','h'});writer.write(new String("zxcvb"),0,3);writer.flush();writer.write("1244434");if (writer!=null) {writer.close();}}
}

缓冲流概述

缓冲流自带缓冲区,先是将要操作的数据存放在缓冲区,然后才和内存或者硬盘交互,可以提高字节流,字符流读写数据的性能。

字节缓冲流性能优化原理:

字节缓冲输入流自带了8KB缓冲池,以后我们直接从缓冲池读取数据,所以性能较好。
字节缓冲输出流自带了8KB缓冲池,数据就直接写入到缓冲池中去,写数据性能极高了

字节缓冲流

  • 字节缓冲输入流:BufferedInputStream,提高字节输入流读取数据的性能,读写功能上并无变化。
  • 字节缓冲输出流:BufferedOutputStream,提高字节输出流读取数据的性能,读写功能上并无变化。
构造器 说明
public BufferedInputStream(InputStream is) 可以把低级的字节输入流包装成一个高级的缓冲字节输入流管道,从而提高字节输入流读数据的性能
public BufferedOutputStream(OutputStream os) 可以把低级的字节输出流包装成一个高级的缓冲字节输出流,从而提高写数据的性能

代码示例

package com.kc.system.io;import java.io.*;/*** 复制文件夹下的文件*1.首先将文件读入内存* 2.将文件写到目标路径* 硬盘--->内存---->硬盘*/
public class BufferDemo {public static void main(String[] args) {try(//这里面只能放置资源对象,用完会自动关闭:自动调用资源对象的close方法关闭资源//1.创建一个字节p输入流管道与图片接通InputStream inputStream = new FileInputStream("D:/picture/1.jpg");// 2.把原始的字节输入流包装成高级的缓冲字节输入流InputStream in = new BufferedInputStream(inputStream);// 3、创建一个字节输出流管道与目标文件接通OutputStream outputStream = new FileOutputStream("D:/picture/3.jpg");// 4.把字节输出流管道包装成高级的缓冲字节输出流管道OutputStream out = new BufferedOutputStream(outputStream);){byte [] buffer = new byte[4];int size = 0;while ((size=in.read(buffer))!=-1) {out.write(buffer,0,size);}} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}
}

字符缓冲输入流

字符缓冲输入流:BufferedReader。
作用:提高字符输入流读取数据的性能,除此之外多了按照行读取数据的功能。

构造器 说明
public BufferedReader(Reader r) 可以把低级的字符输入流包装成一个高级的缓冲字符输入流管道,从而提高字符输入流读数据的性能
方法 说明
public String readLine() 读取一行数据返回,如果读取没有完毕,无行可读返回nul

代码示例一

package com.kc.system.io;import java.io.*;public class BufferReaderDemo {public static void main(String[] args) {try(Reader reader = new FileReader("bbb.txt");BufferedReader bufferedReader = new BufferedReader(reader);){char [] buffer = new char[4];int len = 0;while ((len=bufferedReader.read(buffer))!=-1) {System.out.println(new String(buffer,0,len));}} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}
}

字符缓冲输出流

字符缓冲输出流:BufferedWriter。
作用:提高字符输出流写取数据的性能,除此之外多了换行功能

构造器 说明
public BufferedWriter(Writer w) 可以把低级的字符输出流包装成一个高级的缓冲字符输出流管道,从而提高字符输出流写数据的性能
方法 说明
public void newLine() 换行操作

代码示例二

package com.kc.system.io;import java.io.*;
public class BufferWriterDemo {public static void main(String[] args) {try(Writer write = new FileWriter("bbb.txt");BufferedWriter bufferedWriter = new BufferedWriter(write);){bufferedWriter.write(97);bufferedWriter.write(new  char[]{'b','c','d','e','f'});bufferedWriter.newLine();bufferedWriter.write(new String("efasdfg"));write.flush();} catch (IOException e) {e.printStackTrace();}}
}

总结

文件操作的类虽然看起来很多,但是只有用好一组类,其它的类基本上都是类似的使用。

最后的话

各位看官如果觉得文章写得不错,点赞评论关注走一波!谢谢啦!

《JavaSE-第十四章》之文件(一)相关推荐

  1. 第十一、十二、十三、十四章 网络配置管理、归档和远程复制同步文件、软件包管理、创建访问linux文件系统

    第十一章 网络配置管理 网络地址获取方式: 1)DHCP自动获取 2)手动配置 1.网卡配置文件: /etc/sysconfig/network-scripts/ [root@server0 Desk ...

  2. 谭浩强《C++程序设计》书后习题 第十三章-第十四章

    2019独角兽企业重金招聘Python工程师标准>>> 最近要复习一下C和C++的基础知识,于是计划把之前学过的谭浩强的<C程序设计>和<C++程序设计>习题 ...

  3. 工程项目管理丁士昭第二版_2021年软考系统集成项目管理工程师知识点预习第十四章第二节...

    听说99%的同学都来这里充电吖 为了方便大家尽早投入2021年的软考考试备考中,我们已开始连载<系统集成项目管理工程师>知识点,今天带来的是 第十四章 第二节 编制询价~ 知识点:第十四章 ...

  4. fpga驱动rgb液晶屏_正点原子开拓者FPGA开发板资料连载第五十四章基于的数字识别实验...

    1)实验平台:正点原子开拓者FPGA 开发板 2)摘自<开拓者FPGA开发指南>关注官方微信号公众号,获取更多资料:正点原子 3)全套实验源码+手册+视频下载地址:http://www.o ...

  5. 鸟哥的Linux私房菜(服务器)- 第十四章、账号控管: NIS 服务器

    第十四章.账号控管: NIS 服务器 最近更新日期:2011/07/28 有没有想过,如果我有十部 Linux 主机,这十部主机仅负责不同的功能,事实上,所有的主机账号与对应的密码都相同! 那么我是将 ...

  6. 鸟哥的Linux私房菜(基础篇)- 第二十四章、 X Window 配置介绍

    第二十四章. X Window 配置介绍 最近升级日期:2009/08/07 在 Linux 上头的图形介面我们称之为 X Window System,简称为 X 或 X11 罗!为何称之为系统呢?这 ...

  7. 第十四章 Linux核心资源

    Table of Contents, Show Frames, No Frames 第十四章 Linux核心资源 本章主要描叙寻找某个特殊核心函数时用到的Linux核心资源. 本书并不要求读者具有C编 ...

  8. [转]Windows Shell 编程 第十四章【来源:http://blog.csdn.net/wangqiulin123456/article/details/7988010】...

    第十四章 设计Shell集成应用 有一些工具可以使应用程序更紧密地与Shell和底层系统进行集成.也就是说,用户可以象处理系统文档和程序那样处理你的文档和程序.例如,右击文件来显示可用功能列表等.Wi ...

  9. Gradle 1.12用户指南翻译——第五十四章. 构建原生二进制文件

    其他章节的翻译请参见: http://blog.csdn.net/column/details/gradle-translation.html 翻译项目请关注Github上的地址: https://g ...

  10. cc2530定时器和捕获比较_ALIENTEK 阿波罗 STM32F767 开发板资料连载十四章 输入捕获实验...

    1)实验平台:alientek 阿波罗 STM32F767 开发板2)摘自<STM32F7 开发指南(HAL 库版)>关注官方微信号公众号,获取更多资料:正点原子 http://weixi ...

最新文章

  1. 毫末智行,现在是中国营收增速最快的无人车公司
  2. 错误linux autocof.h,【技巧】一种提高 [ 定位Linux内核编译错误 ] 效率的方法
  3. Mysql5.7版本ERROR 1055问题
  4. 陆续放出各种安装及配置文档
  5. Android Studio动态调试Smali
  6. 从头编写 asp.net core 2.0 web api 基础框架 (2)
  7. form表单 1128
  8. 对互联网海量数据实时计算的理解
  9. LintCode—删除链表中的元素(452)
  10. 3D数学基础与三维渲染
  11. WinForm框架开发教程 - 如何实现简单化开发?
  12. Flutter格式化电话号码
  13. 几个最新免费开源的中文语音数据集
  14. Openpose的使用经历
  15. IO前哨站之##File##
  16. keil5.36设置GB2312编码后无法修改字体的解决方法——2022.04.04
  17. matlab窄带水平集,窄带水平集方法
  18. 关闭 c4244_秀刻开放注册锁粉;天天有鱼推基金认筹;智慧云开放交易;五子登科开放交易;火艺短视频开放交易;购视界改制;等会儿短视频关闭交易;...
  19. 七、最短路径——弗洛伊德(Floyd)算法
  20. xmind可以画流程图吗_怎样用XMind方便地制作流程图

热门文章

  1. hexo写博客时怎么插入图片
  2. 电脑Java安装 报错_Windows10系统电脑安装Java开发环境的方法
  3. 用Java画一个圣诞树_java – 用“X”画一棵圣诞树
  4. 小说大纲模板在计算机的哪里,如何撰写小说大纲
  5. MacOS 制作 Linux U盘启动盘
  6. 【软件设计】BDD由内而外采用策略
  7. 运维工程师平均月工资是多少?
  8. CC2530看门狗定时器实现1秒定时
  9. zblog mysql修改_MySQL_网上下载的Zblog模板怎么修改?,      终于下 - phpStudy
  10. GBASE 8s UDR内存管理_05_mi_free