安卓按键:读取txt开头出现未知字符的问题

很多时候 我们读取txt 用traceprint输出后 最头上会莫名其妙多出一个问号 但是你用问号匹配他 却匹配不到  就是1个未知字符  这个到底是什么 怎么避免出现这个东西呢

这个主要是txt文件存在一个bom头字符串 但是 安卓状态下 txt却不认识这个字符串 这个bom头在电脑是不可见的

处理办法

1 使用类似noytepad++之类的编辑工具把txt文件的bom头去掉 然后再把这个txt传到安卓上 开始脚本处理

2 脚本每次读取txt会检测文件内容开始是否存在bom头字符串 存在则替换掉 不存在更好

第一个办法 我就不用演示了 自己去处理下即可

第二个 我是用一个函数来实现处理的  可以参考下

Function 文本文件格式化操作(文件路径)
    Dim 读取内容
    读取内容 = Trim(file.Read(文件路径))

    //判断开头3个字符是否是bom头
    If Mid(读取内容, 1, 3) = Chr(239) & Chr(187) & Chr(191) Then
        //有则替换为空 然后重新写入内容 这个地方不确定是否除了第一行之外还可能存在bom头 应该没那么巧
        file.Write 文件路径, Replace(读取内容, Chr(239) & Chr(187) & Chr(191), "")
    End If

    //如果txt里面最后不是以\r\n结尾的 就自动添加一个回车换行符 来实现这个 也解决了替换最后一行 不写\r\n会替换找不到的情况
    If trim(读取内容)<>""and Right(读取内容, 2) <> "\r\n" Then
        file.Write 文件路径, 读取内容 & "\r\n"
    End If

End Function

原文地址:https://www.cnblogs.com/zjl8455482/p/9225538.html

时间: 2024-10-22 21:47:23

安卓按键:读取txt开头出现未知字符的问题的相关文章

java读取txt文件的2中方法---并将内容(每一行以固定的字符分割切成2段)存到map中去

#java读取txt文件的第一种方法 /** * 方法:readTxt * 功能:读取txt文件并把txt文件的内容---每一行作为一个字符串加入到List中去 * 参数:txt文件的地址 * 返回:Map * @param file * @return * @throws IOException */ public static Map<String, String> readTxt(String file) throws IOException { Map<String, Strin

Selenium+Python参数化:读取TXT文件

概述 从Selenium模块化一文中,可以看出参数化的必要性,本文来介绍下读取外部txt文件的方法. 如何打开文件 打开文件有以下两个函数可以应用: 1.open(file_name,access_mode) file_name: 文件路径及名称: access_mode :访问方式,具体参数如下,,未提供参数,则默认为r: r:表示读取: w:表示写入: a:表示添加: +: 表示读写: b:表示2进制访问; 2.file函数 file()内建函数它的功能等于open(),如下根据文档说明可知

Javascript写入txt和读取txt文件的方法

文章主要介绍了Javascript写入txt和读取txt文件的方法,需要的朋友可以参考下1. 写入 FileSystemObject可以将文件翻译成文件流. 第一步: 例: 复制代码 代码如下: Var fso=new ActiveXObject(Scripting.FileSystemObject); 创建一个可以将文件翻译成文件流的对象. 第二步:用于创建一个textStream 对象 括号里边有三个属性 1. 文件的绝对路径 2. 文件的常数 只读=1,只写=2 ,追加=8 等权限.(Fo

matlab 中txt文件(含字符及数值)处理

matlab 中txt文件(含字符及数值)处理 (2008-08-02 09:45:12) 转载▼ 标签: 杂谈 分类: matlab及C学习 Matlab文件操作及读txt文件ZZ 2008-07-11 16:43 matlab文件操作文件操作是一种重要的输入输出方式,即从数据文件读取数据或将结果写入数据文件.MATLAB提供了一系列低层输入输出函数,专门用于文件操作.1.文件的打开与关闭1)打开文件在读写文件之前,必须先用fopen函数打开或创建文件,并指定对该文件进行的操作方式.fopen

php读取mssql日期出现中文字符的解决方法

php读取mssql日期出现中文字符的解决方法 在php代码开头处加下以下代码 ini_set ("mssql.datetimeconvert","0");//关闭mssql默认的日期格式转换 php读取mssql日期出现中文字符的解决方法,布布扣,bubuko.com

VS2012+C语言+图形界面窗口+读取TXT文件+显示

#include <windows.h> #include <stdio.h> #include <stdlib.h> #include <time.h> #define ID_TIMER 1 LRESULT CALLBACK WindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam); //声明回调函数 int WINAPI WinMain(HINSTANCE hInstance, HINST

用C#读取txt文件的方法

1.使用FileStream读写文件 文件头: using System;using System.Collections.Generic;using System.Text;using System.IO; 读文件核心代码: byte[] byData = new byte[100];char[] charData = new char[1000]; try{FileStream sFile = new FileStream("文件路径",FileMode.Open);sFile.S

windows自带记事本导致文本文件(UTF-8编码)开头三个字符乱码问题

在windows平台下,使用系统的记事本以UTF-8编码格式存储了一个文本文件,但是由于Microsoft开发记事本的团队使用了一个非常怪异的行为来保存UTF-8编码的文件,它们自作聪明地在每个文件开头添加了0xefbbbf(十六进制)的字符,所以我们就会遇到很多不可思议的问题,比如,网页第一行可能会显示一个"?",明明正确的程序一编译就报出语法错误,等等. 下面为一段测试程序,由记事本编辑的文本文件导致文件开头前三个字符乱码. #include <stdio.h> #de

vbs 读取txt是读取特定的行

读取第三行的内容:Set fso = CreateObject("scripting.filesystemobject")path="A.TXT文件的路径"Set A=fso.OpenTextFile(path,1)For i=1 To 2A.ReadLineNextline=A.ReadLineMsgBox "第三行为: "&line 第四行的第2个到第5个字符: Set fso = CreateObject("scripti