搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
小小林熬夜学编程
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
基于Python+Django+Vue+MYSQL的个人博客网站系统_diango4+vue3开发个人博客
2
CAS 原理和缺陷_介绍下 cas,存在什么问题
3
PT100高精度测温电路 AD623+REF3030(很稳定)_温度探头pt100接上3.3v
4
centos内网ntp时间同步,centos输出重定向,linux定时任务
5
轻快好用的Docker版云桌面(不到300M、运行快、省流量).md_docker 云桌面
6
谁说女生不可以学编程?维密超模放弃年薪千万,一心只当程序媛_超模 编程
7
Linux系统ubuntu中创建anaconda虚拟环境,安装pytorch_ubuntu pytorch
8
coursera 吴恩达机器学习 machine learning 作业/习题 归纳 + 脚本测试 (ex12345678)_吴恩达machine learning作业
9
FPGA设计基础04——modelsim仿真_modelsim后仿真
10
需求分析——验收测试的步骤_需求验收
当前位置:
article
> 正文
C#文件操作_编译好的c#文件怎么在u3中使用
作者:小小林熬夜学编程 | 2024-03-27 15:44:15
赞
踩
编译好的c#文件怎么在u3中使用
C#文件操作
本文转自http://blog.csdn.net/qy1387/article/details/7772104
文件操作: 检查 创建 读取 写入 修改 删除
目录操作: 检查 创建 读取 写入 修改 删除
文件操作
创建文本文件 向文件写入文本
写入文本文件 向文件写入文本
读取文本文件 从文件读取文本
向文件中追加文本 File.AppendText FileInfo.AppendText
重命名或移动文件 File.Move FileInfo.MoveTo
删除文件 File.Delete FileInfo.Delete
复制文件 File.Copy FileInfo.CopyTo
获取文件大小 FileInfo.Length
获取文件属性 File.GetAttributes
设置文件属性 File.SetAttributes
确定文件是否存在 File.Exists
读取二进制文件 对刚创建的数据文件进行读取和写入
写入二进制文件 对刚创建的数据文件进行读取和写入
检索文件扩展名 Path.GetExtension
检索文件的完全限定路径 Path.GetFullPath
检索路径中的文件名和扩展名 Path.GetFileName
更改文件扩展名 Path.ChangeExtension
目录操作
System.IO 类
目录操作
string
[] drives = Directory.GetLogicalDrives();
//本地驱动器的名,如:C:\等
string
path = Directory.GetCurrentDirectory();
//获取应用程序的当前工作目录
Path.GetFileName(@
"c:\dir\file.txt"
);
//获取子目录的名字,result的结果是file.txt
Directory.GetFiles(路径及文件名)
//获取指定目录中的文件名(文件列表)
DirectoryInfo di =
new
DirectoryInfo(@
"f:\MyDir"
);
//构造函数创建目录
DirectoryInfo di=Directory.CreateDirectory(@
"f:\bbs"
);
//创建对象并创建目录
if
(di.Exists ==
false
)
//检查是否存在此目录
di.Create();
//创建目录
DirectoryInfo dis = di.CreateSubdirectory(
"SubDir"
);
//以相对路径创建子目录
dis.Delete(
true
);
//删除刚创建的子目录
di.Delete(
true
);
//删除创建目录
文件操作
Directory.Delete(@
"f:\bbs2"
,
true
);
//删除目录及其子目录和内容(如为假不能删除有内容的目录包括子目录)
Directory.GetDirectories 方法
//获取指定目录中子目录的名称
string
[] dirs = Directory.GetDirectories(@
"f:\", "
b*");
Console.WriteLine(
"此目录中以b开头的子目录共{0}个!"
, dirs.Length);
foreach
(
string
dir
in
dirs) { Console.WriteLine(dir); }
Directory.GetFileSystemEntries
//获取指定目录中的目录及文件名
Directory.GetLogicalDrives
//检索此计算机上格式为“<驱动器号>:\”的逻辑驱动器的名称,【语法同上】
Directory.GetParent
//用于检索父目录的路径。
DirectoryInfo a = Directory.GetParent(path);
Console.WriteLine(a.FullName);Directory.Move
//移动目录及其在内的所有文件
Directory.Move(@
"f:\bbs\1"
, @
"f:\bbs\2"
);
//将文件夹1内的文件剪到文件夹2内 文件夹2是刚创建的
Stream
// 对字节的读写操作(包含对异步操作的支持) Reading Writing Seeking
BinaryReader和BinaryWriter
// 从字符串或原始数据到各种流之间的读写操作
FileStream类通过Seek()方法进行对文件的随机访问,默认为同步
TextReader和TextWriter
//用于gb2312字符的输入和输出
StringReader和StringWriter
//在字符串中读写字符
StreamReader和StreamWriter
//在流中读写字符
BufferedStream 为诸如网络流的其它流添加缓冲的一种流类型.
MemoryStream 无缓冲的流
NetworkStream 互联网络上的流
//编码转换
Encoding e1 = Encoding.Default;
//取得本页默认代码
Byte[] bytes = e1.GetBytes(
"中国人民解放军"
);
//转为二进制
string
str = Encoding.GetEncoding(
"UTF-8"
).GetString(bytes);
//转回UTF-8编码
//文本文件操作:创建/读取/拷贝/删除
using
System;
using
System.IO;
class
Test
{
string
path = @
"f:\t.txt"
;
public
static
void
Main()
{
//创建并写入(将覆盖已有文件)
if
(!File.Exists(path))
{
using
(StreamWriter sw = File.CreateText(path))
{
sw.WriteLine(
"Hello"
);
}
}
//读取文件
using
(StreamReader sr = File.OpenText(path))
{
string
s =
""
;
while
((s = sr.ReadLine()) !=
null
)
{
Console.WriteLine(s);
}
}
//删除/拷贝
try
{
File.Delete(path);
File.Copy(path, @
"f:\tt.txt"
);
}
catch
(Exception e)
{
Console.WriteLine(
"The process failed: {0}"
, e.ToString());
}
}
}
//流文件操作
private
const
string
name =
"Test.data"
;
public
static
void
Main(String[] args)
{
//打开文件() ,或通过File创建立如:fs = File.Create(path, 1024)
FileStream fs =
new
FileStream(name, FileMode.CreateNew);
//转换为字节 写入数据(可写入中文)
Byte[] info =
new
UTF8Encoding(
true
).GetBytes(
"This is some text in the file."
);
//字节数组,字节偏移量,最多写入的字节数
fs.Write(info, 0, info.Length);
w.Close();
fs.Close();
//打开文件
fs =
new
FileStream(name, FileMode.Open, FileAccess.Read);
//读取
BinaryReader r =
new
BinaryReader(fs);
for
(
int
i = 0; i < 11; i++)
{
Console.WriteLine(r.ReadInt32());
}
w.Close();
fs.Close();
}
C#追加文件
StreamWriter sw = File.AppendText(Server.MapPath(
"."
)+
"\\myText.txt"
);
sw.WriteLine(
"追逐理想"
);
sw.WriteLine(
"kzlll"
);
sw.WriteLine(
".NET笔记"
);
sw.Flush();
sw.Close();
C#拷贝文件
string
OrignFile,NewFile;
OrignFile = Server.MapPath(
"."
)+
"\\myText.txt"
;
NewFile = Server.MapPath(
"."
)+
"\\myTextCopy.txt"
;
File.Copy(OrignFile,NewFile,
true
);
C#删除文件
string
delFile = Server.MapPath(
"."
)+
"\\myTextCopy.txt"
;
File.Delete(delFile);
C#移动文件
string
OrignFile,NewFile;
OrignFile = Server.MapPath(
"."
)+
"\\myText.txt"
;
NewFile = Server.MapPath(
"."
)+
"\\myTextCopy.txt"
;
File.Move(OrignFile,NewFile);
C#创建目录
// 创建目录c:\sixAge
DirectoryInfo d=Directory.CreateDirectory(
"c:\\sixAge"
);
// d1指向c:\sixAge\sixAge1
DirectoryInfo d1=d.CreateSubdirectory(
"sixAge1"
);
// d2指向c:\sixAge\sixAge1\sixAge1_1
DirectoryInfo d2=d1.CreateSubdirectory(
"sixAge1_1"
);
// 将当前目录设为c:\sixAge
Directory.SetCurrentDirectory(
"c:\\sixAge"
);
// 创建目录c:\sixAge\sixAge2
Directory.CreateDirectory(
"sixAge2"
);
// 创建目录c:\sixAge\sixAge2\sixAge2_1
Directory.CreateDirectory(
"sixAge2\\sixAge2_1"
);
递归删除文件夹及文件
public
void
DeleteFolder(
string
dir)
{
if
(Directory.Exists(dir))
//如果存在这个文件夹删除之
{
foreach
(
string
d
in
Directory.GetFileSystemEntries(dir))
{
if
(File.Exists(d))
File.Delete(d);
//直接删除其中的文件
else
DeleteFolder(d);
//递归删除子文件夹
}
Directory.Delete(dir);
//删除已空文件夹
Response.Write(dir+
" 文件夹删除成功"
);
}
else
Response.Write(dir+
" 该文件夹不存在"
);
//如果文件夹不存在则提示
}
protected
void
Page_Load (Object sender ,EventArgs e)
{
string
Dir=
"D:\\gbook\\11"
;
DeleteFolder(Dir);
//调用函数删除文件夹
}
copy文件夹内容
实现一个静态方法将指定文件夹下面的所有内容copy到目标文件夹下面,如果目标文件夹为只读属性就会报错。
方法1.
public
static
void
CopyDir(
string
srcPath,
string
aimPath)
{
try
{
// 检查目标目录是否以目录分割字符结束如果不是则添加之
if
(aimPath[aimPath.Length-1] != Path.DirectorySeparatorChar)
aimPath += Path.DirectorySeparatorChar;
// 判断目标目录是否存在如果不存在则新建之
if
(!Directory.Exists(aimPath)) Directory.CreateDirectory(aimPath);
// 得到源目录的文件列表,该里面是包含文件以及目录路径的一个数组
// 如果你指向copy目标文件下面的文件而不包含目录请使用下面的方法
// string[] fileList = Directory.GetFiles(srcPath);
string
[] fileList = Directory.GetFileSystemEntries(srcPath);
// 遍历所有的文件和目录
foreach
(
string
file
in
fileList)
{
// 先当作目录处理如果存在这个目录就递归Copy该目录下面的文件
if
(Directory.Exists(file))
CopyDir(file,aimPath+Path.GetFileName(file));
// 否则直接Copy文件
else
File.Copy(file,aimPath+Path.GetFileName(file),
true
);
}
}
catch
(Exception e)
{
MessageBox.Show (e.ToString());
}
}
方法2.
public
static
void
CopyFolder(
string
strFromPath,
string
strToPath)
{
//如果源文件夹不存在,则创建
if
(!Directory.Exists(strFromPath))
{
Directory.CreateDirectory(strFromPath);
}
//取得要拷贝的文件夹名
string
strFolderName = strFromPath.Substring(strFromPath.LastIndexOf(
"\\") + 1,strFromPath.Length - strFromPath.LastIndexOf("
\\") - 1);
//如果目标文件夹中没有源文件夹则在目标文件夹中创建源文件夹
if
(!Directory.Exists(strToPath +
"\\"
+ strFolderName))
{
Directory.CreateDirectory(strToPath +
"\\"
+ strFolderName);
}
//创建数组保存源文件夹下的文件名
string
[] strFiles = Directory.GetFiles(strFromPath);
//循环拷贝文件
for
(
int
i = 0;i < strFiles.Length;i++)
{
//取得拷贝的文件名,只取文件名,地址截掉。
string
strFileName = strFiles[i].Substring(strFiles[i].LastIndexOf(
"\\") + 1,strFiles[i].Length - strFiles[i].LastIndexOf("
\\") - 1);
//开始拷贝文件,true表示覆盖同名文件
File.Copy(strFiles[i],strToPath +
"\\" + strFolderName + "
\\" + strFileName,
true
);
}
//创建DirectoryInfo实例
DirectoryInfo dirInfo =
new
DirectoryInfo(strFromPath);
//取得源文件夹下的所有子文件夹名称
DirectoryInfo[] ZiPath = dirInfo.GetDirectories();
for
(
int
j = 0;j < ZiPath.Length;j++)
{
//获取所有子文件夹名
string
strZiPath = strFromPath +
"\\"
+ ZiPath[j].ToString();
//把得到的子文件夹当成新的源文件夹,从头开始新一轮的拷贝
CopyFolder(strZiPath,strToPath +
"\\"
+ strFolderName);
}
}
删除文件夹内容
实现一个静态方法将指定文件夹下面的所有内容Detele,测试的时候要小心操作,删除之后无法恢复。
public
static
void
DeleteDir(
string
aimPath)
{
try
{
// 检查目标目录是否以目录分割字符结束如果不是则添加之
if
(aimPath[aimPath.Length-1] != Path.DirectorySeparatorChar)
aimPath += Path.DirectorySeparatorChar;
// 得到源目录的文件列表,该里面是包含文件以及目录路径的一个数组
// 如果你指向Delete目标文件下面的文件而不包含目录请使用下面的方法
// string[] fileList = Directory.GetFiles(aimPath);
string
[] fileList = Directory.GetFileSystemEntries(aimPath);
// 遍历所有的文件和目录
foreach
(
string
file
in
fileList)
{
// 先当作目录处理如果存在这个目录就递归Delete该目录下面的文件
if
(Directory.Exists(file))
{
DeleteDir(aimPath+Path.GetFileName(file));
}
// 否则直接Delete文件
else
{
File.Delete (aimPath+Path.GetFileName(file));
}
}
//删除文件夹
System.IO .Directory .Delete (aimPath,
true
);
}
catch
(Exception e)
{
MessageBox.Show (e.ToString());
}
}
读取文本文件
private
void
ReadFromTxtFile()
{
if
(filePath.PostedFile.FileName !=
""
)
{
txtFilePath =filePath.PostedFile.FileName;
fileExtName = txtFilePath.Substring(txtFilePath.LastIndexOf(
"."
)+1,3);
if
(fileExtName !=
"txt"
&& fileExtName !=
"TXT"
)
{
Response.Write(
"请选择文本文件"
);
}
else
{
StreamReader fileStream =
new
StreamReader(txtFilePath,Encoding.Default);
txtContent.Text = fileStream.ReadToEnd();
fileStream.Close();
}
}
}
获取文件列表
看到动态表的影子,这个应该是从项目里面拷贝出来的。
private
void
GetFileList()
{
string
strCurDir,FileName,FileExt;
/**/
///文件大小
long
FileSize;
/**/
///最后修改时间;
DateTime FileModify;
/**/
///初始化
if
(!IsPostBack)
{
/**/
///初始化时,默认为当前页面所在的目录
strCurDir = Server.MapPath(
"."
);
lblCurDir.Text = strCurDir;
txtCurDir.Text = strCurDir;
}
else
{
strCurDir = txtCurDir.Text;
txtCurDir.Text = strCurDir;
lblCurDir.Text = strCurDir;
}
FileInfo fi;
DirectoryInfo dir;
TableCell td;
TableRow tr;
tr =
new
TableRow();
/**/
///动态添加单元格内容
td =
new
TableCell();
td.Controls.Add(
new
LiteralControl(
"文件名"
));
tr.Cells.Add(td);
td =
new
TableCell();
td.Controls.Add(
new
LiteralControl(
"文件类型"
));
tr.Cells.Add(td);
td =
new
TableCell();
td.Controls.Add(
new
LiteralControl(
"文件大小"
));
tr.Cells.Add(td);
td =
new
TableCell();
td.Controls.Add(
new
LiteralControl(
"最后修改时间"
));
tr.Cells.Add(td);
tableDirInfo.Rows.Add(tr);
/**/
///针对当前目录建立目录引用对象
DirectoryInfo dirInfo =
new
DirectoryInfo(txtCurDir.Text);
/**/
///循环判断当前目录下的文件和目录
foreach
(FileSystemInfo fsi
in
dirInfo.GetFileSystemInfos())
{
FileName =
""
;
FileExt =
""
;
FileSize = 0;
/**/
///如果是文件
if
(fsi
is
FileInfo)
{
fi = (FileInfo)fsi;
/**/
///取得文件名
FileName = fi.Name;
/**/
///取得文件的扩展名
FileExt = fi.Extension;
/**/
///取得文件的大小
FileSize = fi.Length;
/**/
///取得文件的最后修改时间
FileModify = fi.LastWriteTime;
}
/**/
///否则是目录
else
{
dir = (DirectoryInfo)fsi;
/**/
///取得目录名
FileName = dir.Name;
/**/
///取得目录的最后修改时间
FileModify = dir.LastWriteTime;
/**/
///设置文件的扩展名为
"文件夹"
FileExt =
"文件夹"
;
}
/**/
///动态添加表格内容
tr =
new
TableRow();
td =
new
TableCell();
td.Controls.Add(
new
LiteralControl(FileName));
tr.Cells.Add(td);
td =
new
TableCell();
td.Controls.Add(
new
LiteralControl(FileExt));
tr.Cells.Add(td);
td =
new
TableCell();
td.Controls.Add(
new
LiteralControl(FileSize.ToString()+
"字节"
));
tr.Cells.Add(td);
td =
new
TableCell();
td.Controls.Add(
new
LiteralControl(FileModify.ToString(
"yyyy-mm-dd hh:mm:ss"
)));
tr.Cells.Add(td);
tableDirInfo.Rows.Add(tr);
}
}
读取日志文件
private
void
ReadLogFile()
{
//从指定的目录以打开或者创建的形式读取日志文件
FileStream fs =
new
FileStream(Server.MapPath(
"upedFile"
)+
"\\logfile.txt"
, FileMode.OpenOrCreate, FileAccess.Read);
//定义输出字符串
StringBuilder output =
new
StringBuilder();
//初始化该字符串的长度为0
output.Length = 0;
//为上面创建的文件流创建读取数据流
StreamReader read =
new
StreamReader(fs);
//设置当前流的起始位置为文件流的起始点
read.BaseStream.Seek(0, SeekOrigin.Begin);
//读取文件
while
(read.Peek() > -1)
{
//取文件的一行内容并换行
output.Append(read.ReadLine() +
"\n"
);
}
//关闭释放读数据流
read.Close();
//返回读到的日志文件内容
return
output.ToString();
}
写入日志文件
private
void
WriteLogFile(
string
input)
{
//指定日志文件的目录
string
fname = Server.MapPath(
"upedFile"
) +
"\\logfile.txt"
;
//定义文件信息对象
FileInfo finfo =
new
FileInfo(fname);
//判断文件是否存在以及是否大于2K
if
( finfo.Exists && finfo.Length > 2048 )
{
//删除该文件
finfo.Delete();
}
//创建只写文件流
using
(FileStream fs = finfo.OpenWrite())
{
//根据上面创建的文件流创建写数据流
StreamWriter w =
new
StreamWriter(fs);
//设置写数据流的起始位置为文件流的末尾
w.BaseStream.Seek(0, SeekOrigin.End);
w.Write(
"\nLog Entry : "
);
//写入当前系统时间并换行
w.Write(
"{0} {1} \r\n"
,DateTime.Now.ToLongTimeString(),DateTime.Now.ToLongDateString());
//写入日志内容并换行
w.Write(input +
"\n"
);
//写入------------------------------------“并换行
w.Write(
"------------------------------------\n"
);
//清空缓冲区内容,并把缓冲区内容写入基础流
w.Flush();
//关闭写数据流
w.Close();
}
}
C#创建HTML文件
private
void
CreateHtmlFile()
{
//定义和html标记数目一致的数组
string
[] newContent =
new
string
[5];
StringBuilder strhtml =
new
StringBuilder();
try
{
//创建StreamReader对象
using
(StreamReader sr =
new
StreamReader(Server.MapPath(
"createHTML"
) +
"\\template.html"
))
{
String oneline;
//读取指定的HTML文件模板
while
((oneline = sr.ReadLine()) !=
null
)
{
strhtml.Append(oneline);
}
sr.Close();
}
}
catch
(Exception err)
{
//输出异常信息
Response.Write(err.ToString());
}
//为标记数组赋值
newContent[0] = txtTitle.Text;
//标题
newContent[1] =
"BackColor='#cccfff'"
;
//背景色
newContent[2] =
"#ff0000"
;
//字体颜色
newContent[3] =
"100px"
;
//字体大小
newContent[4] = txtContent.Text;
//主要内容
//根据上面新的内容生成html文件
try
{
//指定要生成的HTML文件
string
fname = Server.MapPath(
"createHTML"
) +
"\\" + DateTime.Now.ToString("
yyyymmddhhmmss
") + "
.html";
//替换html模版文件里的标记为新的内容
for
(
int
i=0;i < 5;i++)
{
strhtml.Replace(
"$htmlkey["
+i+
"]"
,newContent[i]);
}
//创建文件信息对象
FileInfo finfo =
new
FileInfo(fname);
//以打开或者写入的形式创建文件流
using
(FileStream fs = finfo.OpenWrite())
{
//根据上面创建的文件流创建写数据流
StreamWriter sw =
new
StreamWriter(fs,System.Text.Encoding.GetEncoding(
"GB2312"
));
//把新的内容写到创建的HTML页面中
sw.WriteLine(strhtml);
sw.Flush();
sw.Close();
}
//设置超级链接的属性
hyCreateFile.Text = DateTime.Now.ToString(
"yyyymmddhhmmss"
)+
".html"
;
hyCreateFile.NavigateUrl =
"createHTML/"
+DateTime.Now.ToString(
"yyyymmddhhmmss"
)+
".html"
;
}
catch
(Exception err)
{
Response.Write (err.ToString());
}
}
CreateDirectory方法的使用
using
System;
using
System.IO;
class
Test
{
public
static
void
Main()
{
// Specify the directory you want to manipulate.
string
path = @
"c:\MyDir"
;
try
{
// Determine whether the directory exists.
if
(Directory.Exists(path))
{
Console.WriteLine(
"That path exists already."
);
return
;
}
// Try to create the directory.
DirectoryInfo di = Directory.CreateDirectory(path);
Console.WriteLine(
"The directory was created successfully at {0}."
, Directory.GetCreationTime(path));
// Delete the directory.
di.Delete();
Console.WriteLine(
"The directory was deleted successfully."
);
}
catch
(Exception e)
{
Console.WriteLine(
"The process failed: {0}"
, e.ToString());
}
finally
{}
}
}
本文内容由网友自发贡献,转载请注明出处:
【wpsshop博客】
推荐阅读
article
小
程序
/
Html5
/Vue 实现
全景
图
_
小
程序
中植入
全景
组合插件...
小
程序
/
Html5
实现
全景
图
播放功能方案一:[使用
小
程序
全景
图
插件](https://mp.weixin.qq.com...
赞
踩
article
鸿蒙
开发
入门:构建
第一个
ArkTS
应用(
Stage
模型)_
arkts
语言
开发
文档...
为确保运行效果,本文以使用版本为例,点击获取下载链接。_
arkts
语言
开发
文档
arkts
语言
开发
文档 ...
赞
踩
article
程序员
职业生涯
系列:关于
技术
能力
的
思考
与总结_
能力
成长
反思
...
引子儒、释(佛)、道三家思想:释(佛家):处理好人与心的关系,我们要战胜自己;儒(儒家):处理好人与人的关系,我们要团结...
赞
踩
article
利用
librosa
,
torchaudio
分别
实现
梅尔语谱图(
Mel
spectrogram
)
音频
特...
用不同的方式
实现
音频
到梅尔谱的转变,如
torchaudio
,
librosa
,直接调用和分步
实现
,把
音频
的特征值提取出来,...
赞
踩
article
上手华为鸿蒙手表gt系列从准备到发布_
the
graphic
card
opengl
version
...
在鸿蒙系统的加持下,华为watch3开发手表的智能化明显得到大幅的提升,一起来看一下如何从开发到发布吧~_
the
gra...
赞
踩
article
librosa
音频处理库
_
librosa
.
amplitude
_
to
_
db...
1. 名词解释名称 含义 sr(sample
_
rate) 采样率,表示一秒采样多少个样本点 hop
_
leng...
赞
踩
article
android
人脸检测开发——
使用
AVD
虚拟
摄像头
调用
笔记本电脑
网络
摄像头
_安卓
studio
虚拟
机怎...
可以
使用
android
studio
自带的
虚拟
器
AVD
自建一部
虚拟
手机,并配置手机的前后
摄像头
,可以选择
使用
虚拟
360全...
赞
踩
article
Android
浮窗
开发之
窗口
层级_
android
修改
activity
显示
层级...
1.
窗口
层级关系(
浮窗
是如何“浮”的)?2.
浮窗
有哪些限制,如何越过用户授权实现
浮窗
功能?3.
窗口
与用户输入系统(Act...
赞
踩
article
Vue3
跨
组件
传参
provide
与
inject
...
Vue3
跨
组件
传参
provide
与
inject
Vue3
跨
组件
传参
provide
与
inject
...
赞
踩
article
NodeJS
安装
及
环境
配置_
nodejs
安装
及
环境
配置...
打开
安装
包后,一直Next即可。当然,建议还是修改一下
安装
位置,
NodeJS
默认
安装
位置为node -v出现
NodeJS
...
赞
踩
article
PostgreSQL
UDF
实现
tsvector
(
全文检索
),
array
(数组)
多值
字段与scal...
标签
PostgreSQL
,
单值
列 ,
多值
列 , GIN倒排
索引
,
多值
列变异 ,
分区
索引
,
分区
表 , 变异...
赞
踩
article
Android
Launcher3
去除抽屉模式、将双层布局改为单层布局_
android11
laun...
通过本文,您了解了如何
修改
Android
Launcher3
桌面启动器以去除抽屉模式,并将双层布局改为单层布局。请记...
赞
踩
article
visio
卡解决
_
visio
卡顿...
11
_
visio
卡顿
visio
卡顿 打开注册表 ...
赞
踩
article
[微信小程序] 单张、多张
图片
上
传
(
图片
转
base64
格式)
实践经验
_
wx
.
request
传
base...
定义初始数据:data: { imgList: [], //
图片
集合 baseImg: [], //
base64
图片
...
赞
踩
article
UIPATH
数据
抓取
变量
初始化
_
uipath
中给
数据
变量
string
[]一个
初始值
...
UIPATH
数据
抓取
变量
初始化
工作中遇到一个循环抓取
数据
的流程,
数据
抓取输出
变量
为dt,发现不
初始化
dt会叠加,经测试,...
赞
踩
article
Java
基础学习之
构造方法
静态方法
与
变量
简单
的
面向对象
应用_
japanavgirl
...
一
构造方法
的
注意事项1.先看一个程序:public class Demo01 { public static void...
赞
踩
article
《安富莱<
e
m>嵌入式
e
m>周报》第301期:<
e
m>Thr
e
adX
e
m>老大离开微软推出<
e
m>PX
5
e
m> <
e
m>RTOS
e
m>第
5
代系统
,
支持
回流焊
...
《安富莱<
e
m>嵌入式
e
m>周报》第301期:<
e
m>Thr
e
adX
e
m>老大离开微软推出<
e
m>PX
5
e
m> <
e
m>RTOS
e
m>第
5
代系统
,
支持
回流焊
的自焊接
PCB
板设计...
赞
踩
article
PHP添加
中文
水印
...
示例代码1:<?phpHeader("Content-type: image/png"); /*通知浏览器,要输...
赞
踩
article
Flex
布局
(
弹性
布局
)-图文介绍_
flex
:
3
...
详细介绍-
Flex
布局
(
弹性
布局
)_
flex
:
3
flex
:
3
目标: 能够使用
Flex
布局
模型灵...
赞
踩
article
java
中的
move
方法不能
用
,
Java
中的
Files
.
move
()给出了
Files
SystemEx...
I want to
move
a single file to another folder
,
but I can't ...
赞
踩
相关标签
小程序
html5
harmonyos
rxjava
华为
职场和发展
车载系统
android
大数据
算法
编程语言
人工智能
python
pytorch
音频
鸿蒙
javascript
音视频
语音识别
vue.js
前端
开发语言