【分享】Android Studio专用文件转换工具:把ANSI文件批量另存为无BOM的UTF-8文件

简介: 【分享】Android Studio专用文件转换工具:把ANSI文件批量另存为无BOM的UTF-8文件在Andoird Studio下编译java文件时,经常会出现像下面的错误:Error:(29, 43) 閿欒: 缂栫爜UTF-8鐨勪笉鍙...

【分享】Android Studio专用文件转换工具:把ANSI文件批量另存为无BOM的UTF-8文件


在Andoird Studio下编译java文件时,经常会出现像下面的错误:

Error:(29, 43) 閿欒: 缂栫爜UTF-8鐨勪笉鍙槧灏勫瓧绗?



在这里,分享一个工具:ANSI文件批量另存为无BOM的UTF-8文件:

把下面代码用记事本存为AndroidStudioJava编码.vbs,双击即可使用:

on error resume next 
Set WshShell=WScript.CreateObject("Shell.Application") 
dirPath=WshShell.BrowseForFolder(0, "请选择路径", 0, "").items().item().path 
if right(dirPath,1)<>"\" then dirPath=dirpath&"\" 
ma=inputbox("请输入要转换为的编码","","UTF-8") 
if ma="" or dirPath="\" or msgbox("在使用前请确认已备份文件夹"&dirPath,1)=2 then WScript.Quit 

'遍历文件夹下的文件 
Set FSO = CreateObject("scripting.filesystemobject") 
Set f = FSO.GetFolder(dirPath) 
Set fs = f.files 
For Each fileN in fs 
FN=dirPath&fileN.name&"" 
if ".java"=lcase(right(FN,5)) then Call WriteToFile2(FN, ReadFile(FN, "ANSI_X3.4-1986"), ma) 
Next 
Set FSO = Nothing 
wscript.echo "全部成功" 

'检测文件的编码 
Function CheckCode (FileUrl) 
Dim slz 
set slz = CreateObject("Adodb.Stream") 
slz.Type = 1 
slz.Mode = 3 
slz.Open 
slz.Position = 0 
slz.Loadfromfile FileUrl 
Bin=slz.read(2) 
if AscB(MidB(Bin,1,1))=&HEF and AscB(MidB(Bin,2,1))=&HBB Then 
Codes="UTF-8" 
elseif AscB(MidB(Bin,1,1))=&HFF and AscB(MidB(Bin,2,1))=&HFE Then 
Codes="Unicode" 
else 
Codes="ANSI" 
end if 
slz.Close 
set slz = Nothing 
'wscript.echo Codes
CheckCode=Codes 
End Function 

'以指定的编码读取文件 
Function ReadFile(FileUrl, CharSet) 
On Error Resume Next 
Dim Str 
Set stm = CreateObject("Adodb.Stream") 
stm.Type = 2 
stm.mode = 3 
stm.charset = CharSet 
stm.Open 
stm.loadfromfile FileUrl 
Str = stm.readtext 
stm.Close 
Set stm = Nothing 
'wscript.echo Str 
ReadFile = Str 
End Function 

'以指定的编码写文件 
Function WriteToFile (FileUrl, Str, CharSet) 
On Error Resume Next 
Set stm = CreateObject("Adodb.Stream") 
stm.Type = 2 
stm.mode = 3 
stm.charset = CharSet 
stm.Open 
stm.WriteText Str
stm.SaveToFile FileUrl, 2 
stm.flush 
stm.Close 
Set stm = Nothing 
End Function

Function WriteToFile2 (FileUrl, Str, CharSet) 
On Error Resume Next 
Set stm = CreateObject("Adodb.Stream") 
stm.Type = 2 
stm.mode = 3 
stm.charset = CharSet 
stm.Open 
stm.WriteText Str
stm.Position = 3
Set newStream = CreateObject("Adodb.Stream") 
newStream.mode = 3
newStream.Type = 1
newStream.Open()
stm.CopyTo(newStream)
newStream.SaveToFile FileUrl,2
stm.flush 
stm.Close 
Set stm = Nothing 
newStream.flush 
newStream.Close 
Set newStream = Nothing 
End Function



目录
相关文章
|
1月前
|
人工智能 IDE 开发工具
Studio Bot - 让 AI 帮我写 Android 代码
Studio Bot - 让 AI 帮我写 Android 代码
94 1
|
2月前
|
XML Java Android开发
Android App开发实战项目之模仿美图秀秀的抠图工具(附源码和演示视频 简单易懂 可直接使用)
Android App开发实战项目之模仿美图秀秀的抠图工具(附源码和演示视频 简单易懂 可直接使用)
27 0
|
3天前
|
编译器 开发工具 Android开发
|
3天前
|
Android开发
安卓逆向 -- Hook多个dex文件
安卓逆向 -- Hook多个dex文件
7 1
|
21天前
|
Android开发
【Android Studio】小游戏 | 实现两个小动物随手指移动
【Android Studio】小游戏 | 实现两个小动物随手指移动
|
21天前
|
Android开发 数据安全/隐私保护
【Android Studio】简单的QQ登录界面
【Android Studio】简单的QQ登录界面
|
1月前
|
IDE 开发工具 Android开发
Android Studio 下发布项目成APK文件
Android Studio 下发布项目成APK文件
76 1
|
1月前
|
前端开发 Java 数据库
用android studio写一个简单的记单词?????App
用android studio写一个简单的记单词?????App
11 0
|
1月前
|
安全 Android开发 数据安全/隐私保护
安卓逆向 -- SO文件逆向分析
安卓逆向 -- SO文件逆向分析
8 0
|
2月前
|
API Android开发 开发者
Android Studio Electric Eel | 2022.1.1 版本
Android Studio Electric Eel | 2022.1.1 版本

相关产品

  • 云迁移中心