File和IO流
1. File类常用方法
1.1 获取基本属性
• public String getName() :获取名称
• public String getPath() :获取路径
• public String getAbsolutePath():获取绝对路径
• public File getAbsoluteFile():获取绝对路径表示的文件
• public String getParent():获取上层文件目录路径。若无,返回 null
• public long length() :获取文件长度(即:字节数)。不能获取目录的长度。
• public long lastModified() :获取最后一次的修改时间,毫秒值
1.2 列出目录的下一级
• public String[] list() :返回一个 String 数组,表示该 File 目录中的所有子文件或目录。
• public File[] listFiles() :返回一个 File 数组,表示该 File 目录中的所有的子文件或目录。
1.3 重命名
• public boolean renameTo(File dest):把文件重命名为指定的文件路径。
调用该方法的文件必须存在,dest必须不存在,但dest所在目录必须存在,才能成功重命名
1.4 功能判断
• public boolean exists() :此 File 表示的文件或目录是否实际存在。
• public boolean isDirectory() :此 File 表示的是否为目录。
• public boolean isFile() :此 File 表示的是否为文件。
• public boolean canRead() :判断是否可读
• public boolean canWrite() :判断是否可写
• public boolean isHidden() :判断是否隐藏
1.5 创建和删除
• public boolean createNewFile() :创建文件。若文件存在,则不创建,返回 false。
• public boolean mkdir() :创建文件目录。如果此文件目录存在,就不创建了。如果此文件目录的上层目录不存在,也不创建。
• public boolean mkdirs() :创建文件目录。如果上层文件目录不存在,一并创建。
• public boolean delete() :删除文件或者文件夹 删除注意事项:① Java 中的删除不走回收站。② 要删除一个文件目录,请注意该文件目录内不能包含文件或者文件目录。
2. IO流原理及分类
2.1 Java IO原理
Java 程序中,对于数据的输入/输出操作以“流(stream)” 的方式进行,可以看做是 一种数据的流动。
I/O 流中的 I/O 是 Input/Output 的缩写, I/O 技术是非常实用的技术,用于处理设 备之间的数据传输。如读/写文件,网络通讯等。
– 输入 input:读取外部数据(磁盘、光盘等存储设备的数据)到程序(内存)中。
– 输出 output:将程序(内存)数据输出到磁盘、光盘等存储设备中。
2.2 流的分类
java.io 包下提供了各种“流”类和接口,用以获取不同种类的数据,并通过标准 的方法输入或输出数据。
• 按数据的流向不同分为:输入流和输出流。
– 输入流 :把数据从其他设备上读取到内存中的流。
• 以 InputStream、Reader 结尾
– 输出流 :把数据从内存 中写出到其他设备上的流。
• 以 OutputStream、Writer 结尾
• 按操作数据单位的不同分为:字节流(8bit)和字符流(16bit)。
– 字节流 :以字节为单位,读写数据的流。
• 以 InputStream、OutputStream 结尾
– 字符流 :以字符为单位,读写数据的流。
• 以 Reader、Writer 结尾
• 根据 IO 流的角色不同分为:节点流和处理流。
– 节点流:直接从数据源或目的地读写数据
– 处理流:不直接连接到数据源或目的地,而是“连接”在已存在的流(节点流或处理流)之上,通过对数据的处理为程序提供更为强大的读写功能。
2.3 流的API
Java 的 IO 流共涉及 40 多个类,实际上非常规则,都是从如下 4 个抽象基类派生的。
(抽象基类) | 输入流 | 输出流 |
---|---|---|
字节流 | InputStream | OutputStream |
字符流 | Reader | Writer |
由这四个类派生出来的子类名称都是以其父类名作为子类名后缀。
3. FileReader / FileWriter
3.1 读文件
/*** 读hello.txt*/public static void F_Read() {String pathName = "demo\\src\\main\\java\\com\\example\\file_IO\\hello.txt";FileReader fr = null;// 1. 创建File对象File file = new File(pathName);try {// 2. 创建输入型的字符流,用于读取数据fr = new FileReader(file);// 3. 读取数据// // 逐字符读取// int date;// date = fr.read();// while (date != -1) { // 将Hello,world!逐字符输出// System.out.println((char)date);// date = fr.read();// }// 以数组批量读取/** Hello5* , wor5* ld!3*/char[] cbuffer = new char[5];int len = fr.read(cbuffer);while (len != -1) {for (int i = 0; i < len; i++) {System.out.print(cbuffer[i]);}System.out.println(len);len = fr.read(cbuffer); }} catch (IOException e) {e.printStackTrace();} finally {// 4. 关闭流try {if (fr != null) fr.close();} catch (IOException e) {e.printStackTrace();}}}
3.2 写文件
/*** 写test1.txt* @throws IOException*/public static void F_Write() throws IOException {String pathName = "demo\\src\\main\\java\\com\\example\\file_IO\\test1.txt";// 1. 创建File对象,指明写出文件名称File file = new File(pathName);// 2. 创建输出流FileWriter fw = new FileWriter(file); // 覆盖文件// FileWriter fw = new FileWriter(file, true); // 在原有文件添加内容// 3. 写数据fw.write("写操作1");fw.write("wwww");// 4. 关闭流fw.close();}
3.3 简单使用
/*** 将hello.txt复制到test2.txt*/public static void F_Copy() {File src = new File("demo\\src\\main\\java\\com\\example\\file_IO\\hello.txt");File dest = new File("demo\\src\\main\\java\\com\\example\\file_IO\\test2.txt");FileReader fr = null;FileWriter fw = null;try {fr = new FileReader(src);fw = new FileWriter(dest);char[] cbuffer = new char[5];int len;while ((len = fr.read(cbuffer)) != -1) {fw.write(cbuffer, 0, len);}} catch (IOException e) {e.printStackTrace();} finally {try {if (fr != null) fr.close();if (fw != null) {fw.close();}} catch (IOException e) {e.printStackTrace();}} }
4. FileInputStream / FileOutputStream
以复制图像为例,将 qyn.jpg 复制到 qyn_copy.jpg
/*** 复制文件* */public static void main(String[] args) throws IOException {// 1. 创建相关File类File srcFile = new File("demo\\src\\main\\java\\com\\example\\file_IO\\qyn.jpg");File destFile = new File("demo\\src\\main\\java\\com\\example\\file_IO\\qyn_copy.jpg");// 2. 创建相关字节流FileInputStream fis = new FileInputStream(srcFile);FileOutputStream fos = new FileOutputStream(destFile);// 3. 数据读入和写出byte[] buffer = new byte[1024];int len;while ((len = fis.read(buffer)) != -1) {fos.write(buffer, 0, len);}// 4. 关闭资源fis.close();fos.close();}
5. 处理流之一:缓冲流
为了提高数据读写的速度,Java API 提供了带缓冲功能的流类:缓冲流。
缓冲流要“套接”在相应的节点流之上,根据数据操作单位可以把缓冲流分为:
– 字节缓冲流:BufferedInputStream,BufferedOutputStream
– 字符缓冲流:BufferedReader,BufferedWriter
缓冲流的基本原理:在创建流对象时,内部会创建一个缓冲区数组(缺省使用 8192 个字节(8Kb)的缓冲区),通过缓冲区读写,减少系统 IO 次数,从而提高读写的效率。
/*** 使用BuffferedInputStream / BufferedOutputStream复制图片* @throws IOException */public static void test1() throws IOException {// 1. 创建相关File类File srcFile = new File("demo\\src\\main\\java\\com\\example\\file_IO\\qyn.jpg");File destFile = new File("demo\\src\\main\\java\\com\\example\\file_IO\\qyn_copy1.jpg");// 2. 创建相关字节流、缓冲流FileInputStream fis = new FileInputStream(srcFile);FileOutputStream fos = new FileOutputStream(destFile);BufferedInputStream bis = new BufferedInputStream(fis);BufferedOutputStream bos = new BufferedOutputStream(fos);// 3. 数据读入和写出byte[] buffer = new byte[1024];int len;while ((len = bis.read(buffer)) != -1) {bos.write(buffer, 0, len);}// 4. 关闭资源,先外后内// 关闭外层流,// 由于外层流的关闭也会自动的对内层的流进行关闭操作,故可以省略内层流的关闭bos.close();bis.close();// // 关闭内层流// fis.close();// fos.close();}
6. 处理流之二:转换流
转换流是字节与字符间的桥梁。
- InputStreamReader:转换流 java.io.InputStreamReader,是 Reader 的子类,是从字节流到字符流的桥梁。它读取字节,并使用指定的字符集将其解码为字符。它的字符集可以由名称指定,也可以接受平台的默认字符集。
- OutputStreamWriter:转换流 java.io.OutputStreamWriter ,是 Writer 的子类,是从字符流到字节流的桥梁。使用指定的字符集将字符编码为字节。它的字符集可以由名称指定,也可以接受平台的默认字符集。
public static void test1() throws IOException {// 1. 创建相关File类File srcFile = new File("demo\\src\\main\\java\\com\\example\\file_IO\\hello.txt");// 2. 创建相关流FileInputStream fis = new FileInputStream(srcFile);// InputStreamReader isr = new InputStreamReader(fis, "gbk"); // 输出:Hello, world! 浣犲ソ锛屼腑鍥斤紒InputStreamReader isr = new InputStreamReader(fis, "UTF-8"); // 输出:Hello, world! 你好,中国!// 3. 数据读入和写出char[] cbuffer = new char[1024];int len;while ((len = isr.read(cbuffer)) != -1) {String str = new String(cbuffer, 0, len);System.out.println(str);}// 4. 关闭资源isr.close();}
hello.txt的默认字符集为UTF-8,当用gbk字符集去读文件则会出现乱码。
InputStreamReader 和 OutputStreamWriter 搭配使用,可以将文件转换为另外的字符集。
/*** 将utf-8文件转换为gbk*/public static void test2() throws IOException {// 1. 创建相关File类File srcFile = new File("demo\\src\\main\\java\\com\\example\\file_IO\\hello.txt");File destFile = new File("demo\\src\\main\\java\\com\\example\\file_IO\\hello_gbk.txt");// 2. 创建相关流FileInputStream fis = new FileInputStream(srcFile);FileOutputStream fos = new FileOutputStream(destFile);InputStreamReader isr = new InputStreamReader(fis, "UTF-8"); OutputStreamWriter osw = new OutputStreamWriter(fos, "gbk");// 3. 数据读入和写出char[] cbuffer = new char[1024];int len;while ((len = isr.read(cbuffer)) != -1) {osw.write(cbuffer, 0, len);}// 4. 关闭资源isr.close();osw.close();}
7. 处理流之三/四:数据流、对象流
7.1 数据流
数据流:DataOutputStream、DataInputStream
- DataOutputStream:允许应用程序将基本数据类型、String 类型的变量写入输出流中
- DataInputStream:允许应用程序以与机器无关的方式从底层输入流中读取基本数据类型、String 类型的变量。
数据流 DataInputStream 中的方法:
byte readByte() short readShort()
int readInt() long readLong()
float readFloat() double readDouble()
char readChar() boolean readBoolean()
String readUTF() void readFully(byte[] b)
对象流 DataOutputStream 中的方法:将上述的方法的 read 改为相应的 write 即可。
数据流的弊端:只支持 Java 基本数据类型和字符串的读写,而不支持其它 Java 对象的类型。
7.2 对象流
对象流:ObjectOutputStream、ObjectInputStream
- ObjectOutputStream:将 Java 基本数据类型和对象写入字节输出流中。 通过在流中使用文件可以实现 Java 各种基本数据类型的数据以及对象的持久存储。
- ObjectInputStream:ObjectInputStream 对以前使用 ObjectOutputStream 写出的基本数据类型的数据和对象进行读入操作,保存在内存中。
对象流的强大之处就是可以把 Java 中的对象写入到数据源中, 也能把对象从数据源中还原回来。
ObjectOutputStream 中的方法:
public void writeBoolean(boolean val):写出一个 boolean 值。
public void writeByte(int val):写出一个 8 位字节
public void writeShort(int val):写出一个 16 位的 short 值
public void writeChar(int val):写出一个 16 位的 char 值
public void writeInt(int val):写出一个 32 位的 int 值
public void writeLong(long val):写出一个 64 位的 long 值
public void writeFloat(float val):写出一个 32 位的 float 值。
public void writeDouble(double val):写出一个 64 位的 double 值
public void writeUTF(String str):将表示长度信息的两个字节写入输出流,后跟字符串 s 中每个字符的 UTF-8 修改版表示形式。根据字符的值,将字符串 s 中每个字符转换成一个字节、两个字节或三个字节的字节组。注意,将 String 作为基本数据写入流中与将它作为 Object 写入流中明显不同。 如果 s 为 null,则抛出 NullPointerException。
public void writeObject(Object obj):写出一个 obj 对象
public void close() :关闭此输出流并释放与此流相关联的任何系统资源
/** 序列化过程:使用 ObjectOutputStream 流将内存中的Java* 对象保存在文件中或通过网络传输出去*/public static void test1() throws IOException {File file = new File("demo\\src\\main\\java\\com\\example\\file_IO\\Object.txt");ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(file));oos.writeUTF("序列化过程");oos.flush();oos.close();}/** 反序列化过程:使用 ObjectInputStream 流将文件中的数据或* 网络传输过来的数据还原为内存中的Java对象*/public static void test2() throws IOException {File file = new File("demo\\src\\main\\java\\com\\example\\file_IO\\Object.txt");ObjectInputStream ois = new ObjectInputStream(new FileInputStream(file));System.out.println(ois.readUTF());ois.close();}
相关文章:
File和IO流
1. File类常用方法 1.1 获取基本属性 • public String getName() :获取名称 • public String getPath() :获取路径 • public String getAbsolutePath():获取绝对路径 • public File getAbsoluteFile():获取绝对路径表示…...
2024系统架构师---解释器架构风格的概念与应用
解释器架构风格是一种软件架构模式,用于构建那些能够读取、解析并执行用户定义的命令或程序代码的系统。这种架构风格的关键在于提供一个运行时环境,它能够理解和执行预定义或用户定义的语言或指令集。通过这种方式,解释器模式能够为特定领域…...
makefile01
什么是makefile Makefile 文件描述了 Linux 系统下 C/C 工程的编译规则,它用来自动化编译 C/C 项目。一旦写编写好 Makefile 文件,只需要一个 make 命令,整个工程就开始自动编译,不再需要手动执行 GCC 命令。一个中大型 C/C 工程…...
计算机视觉之三维重建(6)---多视图几何(上)
文章目录 一、运动恢复结构问题(SfM)二、欧式结构恢复2.1 概述2.2 求解2.3 欧式结构恢复歧义 三、仿射结构恢复3.1 概述3.2 因式分解法3.3 总结3.4 仿射结构恢复歧义 一、运动恢复结构问题(SfM) 1. 运动恢复结构问题:通…...
蓝桥杯:全球变暖(python,BFS,DFS)(栈溢出的处理办法)
图论的经典题型,深度优先搜索和广度优先搜索都可以,但是本题推荐使用广度优先搜索(类似的题最好都用广度优先搜索),因为使用深度优先搜索会爆栈(栈溢出)。本篇博客两种方法都进行讲解࿰…...
Qt C++ | Qt 元对象系统、信号和槽及事件(第一集)
01 元对象系统 一、元对象系统基本概念 1、Qt 的元对象系统提供的功能有:对象间通信的信号和槽机制、运行时类型信息和动态属性系统等。 2、元对象系统是 Qt 对原有的 C++进行的一些扩展,主要是为实现信号和槽机制而引入的, 信号和槽机制是 Qt 的核心特征。 3、要使用元…...
Python 抽象类
在Python的抽象基类(ABC)中,方法并不是必须全部是抽象方法。抽象基类可以同时包含抽象方法和具体方法。抽象类中可以有抽象方法也可以定义具体方法 具体来说: 抽象方法: 使用abc.abstractmethod装饰器标记的方法是抽象方法。抽象方法没有方法体,只有方法签名。抽象方法必须在具…...
达梦数据库自动备份(全库)+还原(全库) 控制台
一 前提 1.安装达梦数据库DB8(请参照以前文章) 我的数据库安装目录是 /app/dmDB8 2.已创建实例 (请参照上一篇文章) 二 准备测试数据 三 自动备份步骤 1.开启归档模式 开启DM管理工具管理控制台 弹不出来工具的 输入命令 xhost 第一步 将服务器转换为配置状态 右键-&g…...
android AndroidAutoSize 取消第三方库适配问题(两个步骤)
比如第三方库的Activity是:PictureSelectorSupporterActivity、PictureSelectorTransparentActivity、CropImageActivity 1.在自定义Application 的 onCreate 方法设置: Overridepublic void onCreate() {super.onCreate();this.mAppthis;registerActi…...
【Java 多线程】从源码出发,剖析Threadlocal的数据结构
文章目录 exampleset(T value)createMap(t, value);set(ThreadLocal<?> key, Object value)ThreadLocalMap和Thread的关系 全貌 ThreadLocal是个很重要的多线程类,里面数据结构的设计很有意思,很巧妙。但是我们平时使用它的时候常常容易对它的使用…...
Sy6 编辑器vi的应用(+shell脚本3例子)
实验环境: 宿主机为win11,网络:10.255.50.5 6389 WSL2 ubuntu 目标机的OS:Ubuntu 内核、版本如下: linuxpeggy0223:/$ uname -r 5.15.146.1-microsoft-standard-WSL2 linuxpeggy0223:/$ cat /proc/version Linux vers…...
把标注数据导入到知识图谱
文章目录 简介数据导入Doccano标注数据,导入到Neo4j寻求帮助 简介 团队成员使用 Doccano 标注了一些数据,包括 命名实体识别、关系和文本分类 的标注的数据; 工作步骤如下: 首先将标注数据导入到Doccano,查看一下标注…...
【前端基础】什么是类数组对象,类数组对象转换成数组的方法
类数组对象(array-like object)是指在 JavaScript 中具有类似数组的特征但不是真正的数组的对象。这些对象具有类似数组的特性,例如有一个 length 属性和通过索引访问元素的能力,但它们不具备数组对象的所有方法和特性。 什么是类…...
Python快速入门系列-8(Python数据分析与可视化)
第八章:Python数据分析与可视化 8.1 数据处理与清洗8.1.1 数据加载与查看8.1.2 数据清洗与处理8.1.3 数据转换与整理8.2 数据可视化工具介绍8.2.1 Matplotlib8.2.2 Seaborn8.2.3 Plotly8.3 数据挖掘与机器学习简介8.3.1 Scikit-learn8.3.2 TensorFlow总结在本章中,我们将探讨…...
双非硕转测试之Java学习笔记(一):集合
Java学习-----集合 简单概括单列集合--collectionlist接口:vector类:LinkedList类:set接口:HasSet类:LinkedHashSet类: 双列集合--MapMap接口:HashMap类:HashTable类:Pro…...
zabbix源码安装
目录 一.安装php和nginx客户端环境 二.修改php配置 三.修改nginx配置文件 四.下载并编译zabbix 五.创建zabbix需要的用户及组 六.安装编译需要的依赖 七.配置zabbix文件 八.数据库配置 九.配置zabbix 十.web界面部署 十一.遇到无法创建配置文件 十二.登录zabbix 前…...
计算机视觉之三维重建(5)---双目立体视觉
文章目录 一、平行视图1.1 示意图1.2 平行视图的基础矩阵1.3 平行视图的极几何1.4 平行视图的三角测量 二、图像校正三、对应点问题3.1 相关匹配法3.2 归一化相关匹配法3.3 窗口问题3.4 相关法存在的问题3.5 约束问题 一、平行视图 1.1 示意图 如下图即是一个平行视图。特点&a…...
计算机网络-TCP/IP 网络模型
TCP/IP网络模型各层的详细描述: 应用层:应用层为应用程序提供数据传输的服务,负责各种不同应用之间的协议。主要协议包括: HTTP:超文本传输协议,用于从web服务器传输超文本到本地浏览器的传送协议。FTP&…...
算法训练营第29天|LeetCode 491.递增子序列 46.全排列 47.全排列Ⅱ
LeetCode 491.递增子序列 题目链接: LeetCode 491.递增子序列 解题思路: 用哈希集合进行去重,同一树层不能取重复元素。 代码: class Solution { public:vector<vector<int>>result;vector<int>path;void…...
Ubuntu服务器搭建 - 环境篇
Ubuntu服务器搭建 - 环境篇 基于腾讯云服务器 - Ubuntu 20.04 LTS 一、安装 - MySQL 1.1 概述 MySQL安装方式有三种: 1. 使用Ubuntu 包管理工具 apt安装 2. 使用MySQL官方APT存储库安装 3. 使用MySQL官方二进制发行版安装 1.2 安装 MySQL 使用MySQL官方APT存储库安装 $ wget…...
深度学习基础模型之Mamba
Mamba模型简介 问题:许多亚二次时间架构(运行时间复杂度低于O(n^2),但高于O(n)的情况)(例如线性注意力、门控卷积和循环模型以及结构化状态空间模型(SSM))已被开发出来,以解决 Transformer 在长…...
Topaz Video AI for Mac v5.0.0激活版 视频画质增强软件
Topaz Video AI for Mac是一款功能强大的视频处理软件,专为Mac用户设计,旨在通过人工智能技术为视频编辑和增强提供卓越的功能。这款软件利用先进的算法和深度学习技术,能够自动识别和分析视频中的各个元素,并进行智能修复和增强&…...
解决WordPress文章的段落首行自动空两格的问题
写文章时,段落首行都会空两格,可是WordPress自带的编辑器却没有考虑到这一点,导致发布的文章首行都是顶格的,看起来很不习惯。 我们通常的解决方法都是在发布文章时把编辑器切换到“文本”模式,然后再在首行手动键入两…...
RISC-V单板计算机模拟和FPGA板多核IP实现
🎯要点 🎯使用单板计算机 Visionfive 2 或模拟器测试RISC-V汇编🎯RISC-V汇编加载和算术。🎯使用GNU MAKE汇编RISC-V指令,ESP32使用CMake编译执行指令。🎯RISC-V汇编功能和使用释义:控制指令&am…...
Mojo编程语言案例及介绍
Mojo是一种新兴的编程语言,它结合了现代编程范式与简洁易读的语法,为开发者提供了一个强大且高效的开发工具。以下将详细介绍Mojo编程语言的特性,并通过一个实际案例来展示Mojo的应用。 一、Mojo编程语言介绍 Mojo编程语言的设计理念是“简单…...
【Python面试题收录】Python中有哪些方法交换两个变量的值?至少给出三种方法。
一、使用临时变量 # 定义原始变量 a 10 b 20# 直接交换,Python会一次性执行两个赋值操作 a, b b, a# 无需额外变量,a 和 b 的值已经交换 print(a) # 输出: 20 print(b) # 输出: 10 二、利用元组解包特性(不使用临时变量,推荐…...
MySQL核心命令详解与实战,一文掌握MySQL使用
文章目录 文章简介演示库表创建数据库表选择数据库删除数据库创建表删除表向表中插入数据更新数据删除数据查询数据WHERE 操作符聚合函数LIKE 子句分组 GROUP BY HAVINGORDER BY(排序) 语句LIMIT 操作符 分页查询多表查询-联合查询 UNION 操作符多表查询-连接的使用-JOIN语句编…...
基于Springboot + MySQL + Vue 大学新生宿舍管理系统 (含源码)
目录 📚 前言 📑摘要 📑操作流程 📚 系统架构设计 📚 数据库设计 💬 管理员信息属性 💬 学生信息实体属性 💬 宿舍安排信息实体属性 💬 卫生检查信息实体属性 &…...
vulnhub pWnOS v2.0通关
知识点总结: 1.通过模块来寻找漏洞 2.msf查找漏洞 3.通过网站源代码,查看模块信息 环境准备 攻击机:kali2023 靶机:pWnOS v2.0 安装地址:pWnOS: 2.0 (Pre-Release) ~ VulnHub 在安装网址中看到,该靶…...
leetcode热题100.数据流的中位数
作者:晓宜 🌈🌈🌈 个人简介:互联网大厂Java准入职,阿里云专家博主,csdn后端优质创作者,算法爱好者 ❤️❤️❤️ 你的关注是我前进的动力😊 Problem: 295. 数据流的中位数…...
河南万安建设集团有限公司网站/seo外推
aws mongodb本文最初在mongoDB上发布 。 感谢您支持使SitePoint成为可能的合作伙伴。 近年来,开发人员的状况发生了巨大变化。 对于我们开发人员来说,在我们自己的机器上运行我们的所有工具(数据库,Web服务器,开发IDE…...
韩国网站加速器/如何让百度收录网址
安装Python包python-pptx需要用到lxml,而安装lxml报错: fatal error: libxml/xmlversion.h file not found 解决方法: xcode-select --install 安装完commandline tool for xcode后,在安装就不会出错了。 本文转自 h2appy 51CTO博…...
响应式wordpress模板/淘宝店铺怎么引流推广
哈喽,大家好~我是你们的老朋友保护小周ღ,本期为大家带来的是 CAS (compare and swap) 比较并交换,CAS 是物理层次支持程序的原子操作,CAS 是一种完全不同于 synchronized 锁保证多线程安全问题的机制,可以用来进行无锁…...
软件开发和网站建设哪个好/百度推广的价格表
如果百度的话,你会发现很多的安装文献,大体相同,但是都有些不一样的地方。我的安装过程和百度上的也不太一样。所以,在这里也提供一个方法给安装tensorflow-gpu的同志们参考。 环境 Python3.7, gpu是mx150 ࿰…...
网站如何做滚动效果/郑州seo建站
第一招、MysqL服务的启动和停止net stop MysqLnet start MysqL第二招、登陆MysqL语法如下:键入命令 MysqL -uroot -p, 回车后提示你输入密码,输入12345,然后回车即可进入到MysqL中了,MysqL的提示符是:注意&…...
汨罗住房和城乡建设局网站/百度指数爬虫
其实只要掌握了import的用法,export也就分分钟的事就搞定了。因为很多也是通用的,比如–connect,–username,–password,–table,–columns,-m等,还比如上节所说的direct,options-file,job。最大的不同可能就是–target-dir换成了–export-di…...