C# 文件操作详解(一)---------File类

C#对文件的操作相当方便,主要涉及到四个类:File、FileInfo、Directory、DirectoryInfo,前两个提供了针对文件的操作,后两个提供了针对目录的操作,类图关系如下:

  图1:类图

    下面通过实例来看下每个类的使用。

  一、File类  File中提供了许多的静态方法,使用这些静态方法我们可以方便的对文件进行读写查等基本操作。

  1、读文件

?
// 摘要:打开一个文件,将文件的内容读入一个字符串,然后关闭该文件。
public static byte[] ReadAllBytes(string path);
// 摘要: 打开一个文本文件,读取文件的所有行,然后关闭该文件。
public static string[] ReadAllLines(string path);
// 摘要:打开一个文件,使用指定的编码读取文件的所有行,然后关闭该文件。
public static string[] ReadAllLines(string path, Encoding encoding);
// 摘要: 打开一个文本文件,读取文件的所有行,然后关闭该文件。
public static string ReadAllText(string path);
// 摘要: 打开一个文件,使用指定的编码读取文件的所有行,然后关闭该文件。
public static string ReadAllText(string path, Encoding encoding);
// 摘要: 读取文件的文本行。
public static IEnumerable<string> ReadLines(string path);
// 摘要: 读取具有指定编码的文件的文本行。
public static IEnumerable<string> ReadLines(string path, Encoding encoding);

  2、写文件

?
// 摘要: 创建一个新文件,在其中写入指定的字节数组,然后关闭该文件。如果目标文件已存在,则覆盖该文件。
public static void WriteAllBytes(string path, byte[] bytes);
// 摘要:创建一个新文件,在其中写入一组字符串,然后关闭该文件。
public static void WriteAllLines(string path, IEnumerable<string> contents);
// 摘要:创建一个新文件,在其中写入指定的字符串数组,然后关闭该文件。
public static void WriteAllLines(string path, string[] contents);
// 摘要:使用指定的编码创建一个新文件,在其中写入一组字符串,然后关闭该文件。
public static void WriteAllLines(string path, IEnumerable<string> contents, Encoding encoding);
// 摘要:创建一个新文件,使用指定的编码在其中写入指定的字符串数组,然后关闭该文件。
public static void WriteAllLines(string path, string[] contents, Encoding encoding);
// 摘要: 创建一个新文件,在其中写入指定的字符串,然后关闭文件。如果目标文件已存在,则覆盖该文件。
public static void WriteAllText(string path, string contents);
// 摘要: 创建一个新文件,在其中写入指定的字符串,然后关闭文件。如果目标文件已存在,则覆盖该文件。
public static void WriteAllText(string path, string contents, Encoding encoding);

  3、追加内容

?
// 摘要: 在一个文件中追加文本行,然后关闭该文件。
public static void AppendAllLines(string path, IEnumerable<string> contents);
// 摘要:使用指定的编码向一个文件中追加文本行,然后关闭该文件。
public static void AppendAllLines(string path, IEnumerable<string> contents, Encoding encoding);
// 摘要:打开一个文件,向其中追加指定的字符串,然后关闭该文件。如果文件不存在,此方法创建一个文件,将指定的字符串写入文件,然后关闭该文件。
public static void AppendAllText(string path, string contents);
// 摘要:将指定的字符串追加到文件中,如果文件还不存在则创建该文件。
public static void AppendAllText(string path, string contents, Encoding encoding);
// 摘要: 创建一个 System.IO.StreamWriter,它将 UTF-8 编码文本追加到现有文件。
public static StreamWriter AppendText(string path);

  4、创建文件

?
// 摘要:在指定路径中创建或覆盖文件。
public static FileStream Create(string path);
// 摘要:创建或覆盖指定的文件。
public static FileStream Create(string path, int bufferSize);
// 摘要:创建或覆盖指定的文件,并指定缓冲区大小和一个描述如何创建或覆盖该文件的 System.IO.FileOptions 值。
public static FileStream Create(string path, int bufferSize, FileOptions options);
// 摘要:创建或覆盖具有指定的缓冲区大小、文件选项和文件安全性的指定文件。
public static FileStream Create(string path, int bufferSize, FileOptions options, FileSecurity fileSecurity);

  5、打开文件

?
// 摘要: 打开指定路径上的 System.IO.FileStream,具有读/写访问权限。
public static FileStream Open(string path, FileMode mode);
// 摘要:以指定的模式和访问权限打开指定路径上的 System.IO.FileStream。
public static FileStream Open(string path, FileMode mode, FileAccess access);
// 摘要:打开指定路径上的 System.IO.FileStream,具有指定的读、写或读/写访问模式以及指定的共享选项。
public static FileStream Open(string path, FileMode mode, FileAccess access, FileShare share);
// 摘要:打开现有文件以进行读取。
public static FileStream OpenRead(string path);

  6、获取和设置文件属性

?
// 摘要:获取一个 System.Security.AccessControl.FileSecurity 对象,它封装指定文件的访问控制列表 (ACL) 条目。
public static FileSecurity GetAccessControl(string path);
// 摘要:获取一个 System.Security.AccessControl.FileSecurity 对象,它封装特定文件的指定类型的访问控制列表 (ACL)项。
public static FileSecurity GetAccessControl(string path, AccessControlSections includeSections);
// 摘要: 获取在此路径上的文件的 System.IO.FileAttributes。
public static FileAttributes GetAttributes(string path);
// 摘要:返回指定文件或目录的创建日期和时间。
public static DateTime GetCreationTime(string path);
// 摘要:返回指定的文件或目录的创建日期及时间,其格式为协调世界时 (UTC)。
public static DateTime GetCreationTimeUtc(string path);
// 摘要:返回上次访问指定文件或目录的日期和时间。
public static DateTime GetLastAccessTime(string path);
// 摘要: 返回上次访问指定的文件或目录的日期及时间,其格式为协调世界时 (UTC)。
public static DateTime GetLastAccessTimeUtc(string path);
// 摘要:返回上次写入指定文件或目录的日期和时间。
public static DateTime GetLastWriteTime(string path);
// 摘要: 返回上次写入指定的文件或目录的日期和时间,其格式为协调世界时 (UTC)。
public static DateTime GetLastWriteTimeUtc(string path);
  
  
// 摘要:对指定的文件应用由 System.Security.AccessControl.FileSecurity 对象描述的访问控制列表 (ACL) 项。
public static void SetAccessControl(string path, FileSecurity fileSecurity);
// 摘要:设置指定路径上文件的指定的 System.IO.FileAttributes。
public static void SetAttributes(string path, FileAttributes fileAttributes);
// 摘要:设置创建该文件的日期和时间。
public static void SetCreationTime(string path, DateTime creationTime);
// 摘要:设置文件创建的日期和时间,其格式为协调世界时 (UTC)。
public static void SetCreationTimeUtc(string path, DateTime creationTimeUtc);
// 摘要:设置上次访问指定文件的日期和时间。
public static void SetLastAccessTime(string path, DateTime lastAccessTime);
// 摘要:设置上次访问指定的文件的日期和时间,其格式为协调世界时 (UTC)。
public static void SetLastAccessTimeUtc(string path, DateTime lastAccessTimeUtc);
// 摘要:设置上次写入指定文件的日期和时间。
public static void SetLastWriteTime(string path, DateTime lastWriteTime);
// 摘要:设置上次写入指定的文件的日期和时间,其格式为协调世界时 (UTC)。
public static void SetLastWriteTimeUtc(string path, DateTime lastWriteTimeUtc);

  7、复制、移动、替换

?
// 摘要:将现有文件复制到新文件。不允许覆盖同名的文件。
public static void Copy(string sourceFileName, string destFileName);
// 摘要:将现有文件复制到新文件。允许覆盖同名的文件。
public static void Copy(string sourceFileName, string destFileName, bool overwrite);
  
// 摘要:将指定文件移到新位置,并提供指定新文件名的选项。
public static void Move(string sourceFileName, string destFileName);
  
  
// 摘要:使用其他文件的内容替换指定文件的内容,这一过程将删除原始文件,并创建被替换文件的备份。
public static void Replace(string sourceFileName, string destinationFileName, string destinationBackupFileName);
// 摘要: 用其他文件的内容替换指定文件的内容,删除原始文件,并创建被替换文件的备份和(可选)忽略合并错误。
public static void Replace(string sourceFileName, string destinationFileName, string destinationBackupFileName, bool ignoreMetadataErrors);

  8、加密解密、删除、判定是否存在

?
// 摘要:将某个文件加密,使得只有加密该文件的帐户才能将其解密。
public static void Encrypt(string path);
// 摘要:解密由当前帐户使用 System.IO.File.Encrypt(System.String) 方法加密的文件。
public static void Decrypt(string path);
  
  
// 摘要: 删除指定的文件。如果指定的文件不存在,则不引发异常
public static void Delete(string path);
  
  
// 摘要:确定指定的文件是否存在。
public static bool Exists(string path);

   通过上面的函数声明,大家应该很清楚如何是好这些方法了,这里就不举例说明了。

   同时,看到如此多的函数,我们也很清楚的知道,File类已经可以满足我们对文件操作的基本需求了。File类通过静态方法的方式为我们提供了操作文件的途径。

  FileInfo类  提供了与File类相同的功能,不同的是FileInfo提供的都是成员方法

  1、读文件

?
1
2
3
4
//摘要:创建只读 System.IO.FileStream。
public System.IO.FileStream OpenRead()
  
//摘要:创建使用 UTF8 编码、从现有文本文件中进行读取的 System.IO.StreamReader。<BR>public System.IO.StreamReader OpenText()

  2、写文件

?
//摘要:创建只写 System.IO.FileStream。
public System.IO.FileStream OpenWrite()

  3、追加内容

?
//摘要:创建一个 System.IO.StreamWriter,它向 System.IO.FileInfo 的此实例表示的文件追加文本。
public System.IO.StreamWriter AppendText()

  4、打开文件

?
//摘要:在指定的模式中打开文件。
public System.IO.FileStream Open(System.IO.FileMode mode)
  
//摘要:用读、写或读/写访问权限在指定模式下打开文件。
public System.IO.FileStream Open(System.IO.FileMode mode, System.IO.FileAccess access)
  
//摘要:用读、写或读/写访问权限和指定的共享选项在指定的模式中打开文件。
public System.IO.FileStream Open(System.IO.FileMode mode, System.IO.FileAccess access, System.IO.FileShare share)

  5、复制、移动、替换

?
//摘要:将现有文件复制到新文件,不允许覆盖现有文件。
public System.IO.FileInfo CopyTo(string destFileName)
  
//摘要:将现有文件复制到新文件,允许覆盖现有文件。
public System.IO.FileInfo CopyTo(string destFileName, bool overwrite)
  
  
//摘要:将指定文件移到新位置,并提供指定新文件名的选项。
public void MoveTo(string destFileName)
  
  
//摘要:使用当前 System.IO.FileInfo 对象所描述的文件替换指定文件的内容,这一过程将删除原始文件,并创建被替换文件的备份。
public System.IO.FileInfo Replace(string destinationFileName, string destinationBackupFileName)
  
//摘要:使用当前 System.IO.FileInfo 对象所描述的文件替换指定文件的内容,这一过程将删除原始文件,并创建被替换文件的备份。还指定是否忽略合并错误。
public System.IO.FileInfo Replace(string destinationFileName, string destinationBackupFileName, bool ignoreMetadataErrors)

  6、加密解密、删除

?
//摘要:将某个文件加密,使得只有加密该文件的帐户才能将其解密。
public void Encrypt()
  
//摘要:解密由当前帐户使用 System.IO.FileInfo.Encrypt() 方法加密的文件。
public void Decrypt()
  
  
//摘要:永久删除文件。
public override void Delete()

  7、获得文件属性

?
//摘要:获取父目录的实例。
public System.IO.DirectoryInfo Directory { get; }
  
//摘要:获取表示目录的完整路径的字符串。
public string DirectoryName { get; }
  
//摘要:获取指示文件是否存在的值。
public override bool Exists { get; }
  
//摘要:获取或设置确定当前文件是否为只读的值。
public bool IsReadOnly { set; get; }
  
//摘要:获取当前文件的大小(字节)。
public long Length { get; }
  
//摘要:获取文件名。
public override string Name { get; }

  在FileInfo中获取文件的相关属性不再是方法了,都是通过属性获得的,并且除是否只读属性为可读可写的,其他属性都是只读的。

  小结

  大家注意到,我们在介绍File类时,所有的操作都是通过静态方法实现的,并且返回值都是具体的值类型(暂且这样说),而在FileInfo中提供的方法不再是静态的,并且返回值都是FileStream类型的,是一个文件流,因此我们在使用FileInfo这个类时还需要结合FileStream类一起使用。

     这也算是对File类与FileInfo类的错略的对比。

 

前面两篇介绍了File类和FileInfo类,对于文件的操作基本够用,但是后面还会补充一下FileStream相关的操作,例如StreamReader和StreamWriter的内容。本文主要介绍Directory类的使用,让我们一起看一下Directory类为我们提供了哪些操作。

  Directory类  提供了大量的操作目录的静态方法,下面我们一一学习一下。

  1、创建目录

?
1
2
3
4
// 摘要:按 path 的指定创建所有目录和子目录。
public static DirectoryInfo CreateDirectory(string path);
// 摘要:创建指定路径中的所有目录,并应用指定的 Windows 安全性。
public static DirectoryInfo CreateDirectory(string path, DirectorySecurity directorySecurity);

  这里要说明一下,我们使用CreateDirectory方法时,不是只能创建一级目录,而是可以创建一个层级目录,只要你指定的目录路径无此目录,就可以创建。

  2、删除目录

?
1
2
3
4
// 摘要:从指定路径删除空目录。
public static void Delete(string path);
// 摘要:删除指定的目录并(如果指示)删除该目录中的任何子目录。
public static void Delete(string path, bool recursive);

  我们看方法的注释可以知道,第一个方法只能删除一个空的目录,若删除非空目录会提示错误,如图:

第二个方法则是可以通过指定第二个参数来控制是否递归删除子目录,因此,建议在使用时先使用第一个方法,当捕获到异常时,再提示使用第二个方法递归删除(此处只是个人建议,并非固定模式)。

  3、获取子目录、文件

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
//获取目录集合<BR>// 摘要:返回指定路径中的目录名称的可枚举集合。
public static IEnumerable<string> EnumerateDirectories(string path);
// 摘要:返回指定路径中与搜索模式匹配的目录名称的可枚举集合。
public static IEnumerable<string> EnumerateDirectories(string path, string searchPattern);
// 摘要:返回指定路径中与搜索模式匹配的目录名称的可枚举集合,还可以搜索子目录。
public static IEnumerable<string> EnumerateDirectories(string path, string searchPattern, SearchOption searchOption);
// 摘要:返回指定路径中的文件名的可枚举集合。
public static IEnumerable<string> EnumerateFiles(string path);
// 摘要:返回指定路径中与搜索模式匹配的文件名称的可枚举集合。
public static IEnumerable<string> EnumerateFiles(string path, string searchPattern);
// 摘要:返回指定路径中与搜索模式匹配的文件名称的可枚举集合,还可以搜索子目录。
public static IEnumerable<string> EnumerateFiles(string path, string searchPattern, SearchOption searchOption);
// 摘要:返回指定路径中的文件系统项的可枚举集合。
public static IEnumerable<string> EnumerateFileSystemEntries(string path);
// 摘要:返回指定路径中与搜索模式匹配的文件系统项的可枚举集合。
public static IEnumerable<string> EnumerateFileSystemEntries(string path, string searchPattern);
// 摘要:返回指定路径中与搜索模式匹配的文件名称和目录名称的可枚举集合,还可以搜索子目录。
public static IEnumerable<string> EnumerateFileSystemEntries(string path, string searchPattern, SearchOption searchOption);
          
  
//获取目录数组
// 摘要:获取指定目录中子目录的名称。
public static string[] GetDirectories(string path);
// 摘要:从当前目录获取与指定搜索模式匹配的目录的数组。
public static string[] GetDirectories(string path, string searchPattern);
// 摘要:获取当前目录中与指定搜索模式匹配并使用某个值确定是否在子目录中搜索的目录的数组。
public static string[] GetDirectories(string path, string searchPattern, SearchOption searchOption);
  
<BR>//获取文件
// 摘要:返回指定目录中的文件的名称。
public static string[] GetFiles(string path);
// 摘要: 返回指定目录中与指定搜索模式匹配的文件的名称。
public static string[] GetFiles(string path, string searchPattern);
// 摘要: 返回指定目录中文件的名称,该目录与指定搜索模式匹配并使用某个值确定是否在子目录中搜索。
public static string[] GetFiles(string path, string searchPattern, SearchOption searchOption);
// 摘要:返回指定目录中所有文件和子目录的名称。
public static string[] GetFileSystemEntries(string path);
// 摘要: 返回与指定搜索条件匹配的文件系统项的数组。
public static string[] GetFileSystemEntries(string path, string searchPattern);
// 摘要: 获取指定路径中与搜索模式匹配的所有文件名称和目录名称的数组,还可以搜索子目录。
public static string[] GetFileSystemEntries(string path, string searchPattern, SearchOption searchOption);

  通过上述的方法我们可以完成目录的遍历功能,所以大家在练习本节的方法时,希望是以完成一个目录遍历的小例子为最终目的,我会在下篇中上传我做的一个目录遍历的程序给大家做参考,希望能给大家提供帮助。

  4、获取和设置目录属性

?
// 摘要:获取一个 System.Security.AccessControl.DirectorySecurity 对象,该对象封装指定目录的访问控制列表(ACL) 项。
public static DirectorySecurity GetAccessControl(string path);
// 摘要:获取一个 System.Security.AccessControl.DirectorySecurity 对象,它封装指定目录的指定类型的访问控制列表(ACL) 项。
public static DirectorySecurity GetAccessControl(string path, AccessControlSections includeSections);
// 摘要:获取目录的创建日期和时间。
public static DateTime GetCreationTime(string path);
// 摘要:获取目录创建的日期和时间,其格式为协调世界时 (UTC)。
public static DateTime GetCreationTimeUtc(string path);
// 摘要:返回上次访问指定文件或目录的日期和时间。
public static DateTime GetLastAccessTime(string path);
// 摘要:返回上次访问指定文件或目录的日期和时间,其格式为协调世界时 (UTC)。
public static DateTime GetLastAccessTimeUtc(string path);
// 摘要: 返回上次写入指定文件或目录的日期和时间。
public static DateTime GetLastWriteTime(string path);
// 摘要: 返回上次写入指定文件或目录的日期和时间,其格式为协调世界时 (UTC)。
public static DateTime GetLastWriteTimeUtc(string path);
  
  
  
// 摘要:将 System.Security.AccessControl.DirectorySecurity 对象描述的访问控制列表 (ACL) 项应用于指定的目录。
public static void SetAccessControl(string path, DirectorySecurity directorySecurity);
// 摘要:为指定的文件或目录设置创建日期和时间。
public static void SetCreationTime(string path, DateTime creationTime);
// 摘要:设置指定文件或目录的创建日期和时间,其格式为协调世界时 (UTC)。
public static void SetCreationTimeUtc(string path, DateTime creationTimeUtc);
// 摘要:设置上次访问指定文件或目录的日期和时间。
public static void SetLastAccessTime(string path, DateTime lastAccessTime);
// 摘要:设置上次访问指定文件或目录的日期和时间,其格式为协调世界时 (UTC)。
public static void SetLastAccessTimeUtc(string path, DateTime lastAccessTimeUtc);
// 摘要:设置上次写入目录的日期和时间。
public static void SetLastWriteTime(string path, DateTime lastWriteTime);
// 摘要:设置上次写入某个目录的日期和时间,其格式为协调世界时 (UTC)。
public static void SetLastWriteTimeUtc(string path, DateTime lastWriteTimeUtc);

  5、移动、判断是否存在

?
1
2
3
4
// 摘要:将文件或目录及其内容移到新位置。
public static void Move(string sourceDirName, string destDirName);
// 摘要: 确定给定路径是否引用磁盘上的现有目录。
public static bool Exists(string path);

  6、获取卷信息、根信息、当前工作目录

?
// 摘要:获取应用程序的当前工作目录。
public static string GetCurrentDirectory();
// 摘要:返回指定路径的卷信息、根信息或两者同时返回。
public static string GetDirectoryRoot(string path);
// 摘要:检索此计算机上格式为“<盘符>:\”的逻辑驱动器的名称。
public static string[] GetLogicalDrives();
// 摘要:检索指定路径的父目录,包括绝对路径和相对路径。
public static DirectoryInfo GetParent(string path);
// 摘要: 将应用程序的当前工作目录设置为指定的目录。
public static void SetCurrentDirectory(string path);

  

  总结

  以上即为Directory类中为我们提供的可使用方法,并且和File类一样,这些方法都是静态的,通过结合这些方法的使用我们可以完成对目录的所有操作,本文就没有提供相关的范例,在下篇中会提供一个使用以上方法完成的一个简单的目录检索工具。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/301791.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

小时“数感”好,长大才能数学好

▲数据汪特别推荐点击上图进入玩酷屋很多妈妈都无比担心孩子的数学&#xff1a;孩子会不会像自己一样重蹈覆辙呢&#xff1f;在很多人眼里&#xff0c;数学是一堆怎么也弄不明白的公式、符号&#xff0c;而且是怎么努力怎么用功死活就是学不好的一门学科。可是&#xff0c;同样…

java并行流 阻塞主线程_多线程入门案例与java8的并行流

java8 实例请移步https://www.cnblogs.com/ngLee/p/14021859.html进程与线程进程是所有线程的集合&#xff0c;每一个线程是进程中的一条执行路径。多线程的创建方式&#xff0c;继承Thread\实现Runable/*** 第一种创建线程的方式&#xff0c;继承Thread*/public class MultiTh…

BlazorCharts 原生图表库的建设历程

点击蓝字关注我们背景目前 Blazor 中可用的图表组件库主要有以下几个&#xff1a;ant-design-blazor/ant-design-charts-blazor-基于G2Plot mariusmuntean/ChartJs.Blazor- 基于ChartJs blazor-cn/Blazor.ECharts- 基于EChartsant-design-charts-blazor是我主导完成的&#xff…

别光顾着背单词了,每天花18分钟做这件事,英语水平暴增!

全世界只有3.14 % 的人关注了数据与算法之美在知乎上看过一个问题&#xff1a;在当今社会&#xff0c;英语还重要吗&#xff1f;点赞第一的回答是——英语可以差&#xff0c;但你的口语一定要好&#xff01;你记住了1万个单词、将语法书倒背如流、英语成绩名列前茅、英语证书一…

WPF 路径动画PathAnimations的使用

在wpf中让一个控件按照一定的路径运行的动画。。叫做路径动画&#xff0c;这个示例演示了让一个rectangle按照一个s形曲线反复运行的动画。效果&#xff1a;只有一个文件&#xff1a;全部代码如下 &#xff1a;<Window x:Class"wpfcore.MainWindow"xmlns"htt…

STEM科学实验:测试了2000+儿童后证明它秒杀了90%的玩具!

▲数据汪特别推荐点击上图进入玩酷屋除了ipad和那些普通的玩具&#xff0c;我们还能给孩子玩儿些什么&#xff1f;当然是“玩”科学。因为创造力是他们这个年纪&#xff0c;最需要培养的东西。真正的科学启蒙不是将科学知识生硬的灌输给孩子&#xff0c;而是要让孩子在探索中能…

人工智能时代,学好数学有什么用?

随着科技的快速发展&#xff0c;人工智能的热度越来越高。而数学知识蕴含着处理智能问题的基本思想与方法&#xff0c;是理解复杂算法的必备要素。在机器学习工作流程中&#xff0c;数学与代码高度交织在一起&#xff0c;代码通常可以根据数学直观地构建&#xff0c;甚至会共享…

使用CLI模板 | Visual Studio 2019(16.10)新功能试用

Visual Studio很早以前就有模板了&#xff0c;.NET Core命令行界面&#xff08;CLI&#xff09;也能够安装模板并通过dotnet new命令使用它们。然而&#xff0c;但是并没有什么简单的方法可以在Visual Studio中直接使用这些模板。在Visual Studio 2019(16.10)中&#xff0c;启用…

jmeter测试java服务_Jmeter 测试 JMS (Java Message Service)/ActiveMQ 性能

前言JMS 介绍:JMS 即 Java 消息服务(Java Message Service)应用程序接口&#xff0c;是一个 Java 平台中关于面向消息中间件(MOM)的 API&#xff0c;用于在两个应用程序之间&#xff0c;或分布式系统中发送消息&#xff0c;进行异步通信。(百度)本文只测试 ActiveMQ,其他消息中…

MetroGridHelper: A helpful debugging assistant for designers and developers alike

You’ve heard me preach it before: fix those margins, align, and try and make your apps as beautiful and inspiring as you can (see also: my designer tips for developers). On Thursday, I stopped by the Windows Phone Design Team’s beautiful studio space her…

马斯克和贝索斯的“星球大战”

全世界只有3.14 % 的人关注了数据与算法之美商业太空计划已经蓬勃发展了十年。在这个领域中&#xff0c;最雄心勃勃的两家公司当属Blue Origin&#xff08;蓝色起源&#xff09;和SpaceX&#xff08;太空探索技术公司&#xff09;&#xff0c;而它们之间的竞争一直是众人的焦点…

java pojo 是什么_什么是POJO

POJO(Plain Old Java Objects)简单的Java对象&#xff0c;实际就是普通JavaBeans&#xff0c;是为了避免和EJB混淆所创造的简称。在Java应用程序中的角色使用POJO名称是为了避免和EJB混淆起来, 而且简称比较直接. 其中有一些属性及其gettersetter方法的类,没有业务逻辑&#xf…

JMeter基础知识

2019独角兽企业重金招聘Python工程师标准>>> 1.JMeter常用术语 1&#xff09;采样器&#xff08;Samplers&#xff09; 采样器是JMeter测试脚本的基础单元&#xff0c;用户可以用他来向服务器发出一个特定的请求&#xff0c;比如HTTP请求、JAVA请求。 2&#xff…

开年趣图汇总:对不起,让你笑了这么久

全世界只有3.14 % 的人关注了数据与算法之美房东家小孩抓周&#xff0c;感觉不管抓什么都很有未来....计算机语言成就一段恋情程序员&#xff0c;千万别像他学习如果编程语言是工具你这工作怎么越做越晚呢&#xff1f;那一刻&#xff0c;程序员露出了尴尬又不失礼貌的微笑这个名…

【视频回放】Best of Build Tour in China 暨 Watching Party - 大湾区专场

活动介绍微软一年一度的Build大会已经在5月25-27日盛大召开&#xff0c;今年的主题演讲&#xff0c;全球CEO Satya Nadella从开发者速度&#xff0c;智能云原生应用&#xff0c;以及在混合工作场景下提高生产力等诸多话题进行探讨。为了让技术社区和开发者更好地了解微软Build大…

Entity Framework Core 6.0 预览4 性能改进

起因微软在Build2021开发者大会上,发布Entity Framework Core 6.0(简称EFCore 6)预览第四版,号称是性能版本,性能提升主要对于Entity Framework Core 5.性能改进:EFCore 5.0和EFCore 6.0基准测试,提升了70%.在查询时,比EFCore5.0提升了31%.内存改进了不少,减少43%.减少内存分配…

这个地球仪太惊艳了,陪孩子畅聊天文地理。

▲数据汪特别推荐点击上图进入玩酷屋一个人一旦对某事物有了浓厚的兴趣&#xff0c;就会主动去求知、去探索、去实践&#xff0c;并在求知、探索、实践中产生愉快的情绪和体验。所以&#xff0c;古今中外的教育家无不重视兴趣在智力开发中的作用。小木之前推荐过一款AR地球仪&a…

两篇很牛的vim使用技巧

2019独角兽企业重金招聘Python工程师标准>>> 读本文之前请注意&#xff1a; 1. 本文的目标是提供一些vim的使用技巧&#xff0c;利用这些技巧可以提高vim的操作效率。部分技巧在vi上也可以使用&#xff0c;但是现在基本上都是用vim了。 2. 本文是整理和总结使用技巧…

辍学程序员改变世界,这位长得像马云的90后要击败Facebook的扎克伯格了…

全世界只有3.14 % 的人关注了数据与算法之美众所周知&#xff0c;Facebook的创始人扎克伯格&#xff08;Mark Zuckerberg&#xff09;&#xff0c;是史上最年轻的世界亿万富豪。小扎作为社交网络时代的的缔造者&#xff0c;成为了当之无愧的程序员界80后杰出代表。但数据汪今天…

java十六进制大小端转换_字节顺序

1、定义 字节顺序,又称端序或尾序(英语:Endianness),在计算机科学领域中,指电脑内存中或在数字通信链路中,组成多字节的字的字节的排列顺序。 在几乎所有的机器上,多字节对象都被存储为连续的字节序列。 2、表现形式 字节的排列方式有两个通用规则。例如,将一个多位数的…