window 下通过 source 读文件各种鬼 改用 BufferedReader
用于删除文件中中文
object ChineseDrop extends App {
// val stArray = Array("胜多负少","abadsf","13123123")
// stArray.foreach( word => println(s" $word is ${isChinese(word)} "))
//G:\\fromHD\\勇敢的心\\勇敢的心.srt
if (args.size < 1) {
println(" input file name "); System.exit(-1)
}
val in = new BufferedReader(new InputStreamReader(new FileInputStream(args(0)), "utf-8"))
val writer = new PrintWriter(new File(args(0) + ".eng"))
var str = in.readLine()
while (str != null) {
println(s" $str is ${isChinese(str)} ")
if (!isChinese(str)) writer.println(str)
str = in.readLine()
}
in.close()
writer.close()
// 根据Unicode编码完美的判断中文汉字和符号
private def isChinese(c: Char): Boolean = {
val ub: Character.UnicodeBlock = Character.UnicodeBlock.of(c)
if ((ub eq Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS)
|| (ub eq Character.UnicodeBlock.CJK_COMPATIBILITY_IDEOGRAPHS)
|| (ub eq Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A)
|| (ub eq Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B)
|| (ub eq Character.UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION)
|| (ub eq Character.UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS)
|| (ub eq Character.UnicodeBlock.GENERAL_PUNCTUATION))
return true
false
}
// 完整的判断中文汉字和符号
def isChinese(strName: String): Boolean = {
strName.toCharArray.foreach(c => if (isChinese(c)) return true)
false
}
}
source 的用法 对于不同字符 可以在 fromfile 后面加入 curry 函数 "utf-8" ....
//文件读取
val file=Source.fromFile("E:\\scalaIO.txt")
for(line <- file.getLines)
{
println(line)
}
file.close
分享到:
相关推荐
在本文中,我们将深入探讨如何使用C#编程语言来实现删除文件到回收站的功能,具体是基于Microsoft.VisualBasic.FileIO库的。这个功能在处理用户数据时尤其重要,因为它提供了安全的删除方式,允许用户有机会恢复误删...
《FileIO+xtra+用法》 在计算机编程领域,文件输入/输出(File Input/Output,简称File IO)是程序与外部存储设备交互的重要环节。在这个名为"FileIO+xtra+用法.rar"的压缩包中,我们找到了一个专为处理文件读取和...
在给定的标题“fileIO_sample.c_fileI/O_”和描述“file input and output”中,我们可以理解这是一个关于C语言实现文件I/O操作的示例代码。下面将详细介绍C语言中的文件I/O操作,并通过`fileIO_sample.c`这个文件名...
本文将深入探讨“fileio_test_FileIo_TheTest_”这个主题,它涉及Verilog中的文件输入/输出(File I/O)操作,这是在验证和调试过程中非常重要的一个方面。 在Verilog中,File I/O允许我们读取和写入文件,这对于...
文件输入输出,写的一个例子,关于streamread,streamwrite的使用。
标题中的"FileIO.rar_辅助"表明这是一个与文件输入输出(File Input/Output,简称File IO)相关的资源,可能是为了辅助理解和学习File IO操作而创建的一个压缩包。描述提到“是一个记事本,很好用。没有用任何的辅助...
在Android系统中,文件输入/输出(File Input/Output,简称FileIO)是应用程序与本地存储交互的基础。本文将深入探讨Android平台上的文件操作,包括读取、写入、创建和管理文件,以及如何利用驱动程序进行高效的数据...
本篇将详细探讨`fileIO_sample.c_fileIO_源码.zip`中涉及的文件I/O相关知识点,帮助你深入理解这一核心概念。 1. 文件操作基础: C语言提供了标准库`stdio.h`,其中包含了一系列用于文件操作的函数,如`fopen()`, ...
《FileIO-V100R002:C语言实现的Windows文件夹操作封装库》 FileIO-V100R002是针对Windows操作系统的一个C语言编写的文件夹操作封装库,主要目的是为了方便开发者对文件夹进行高效、稳定的操作。这个版本修复了上一...
标题中的"Fileio.rar_fat32"表明这是一个与文件I/O操作相关的程序,特别是针对FAT32文件系统的。FAT32是Microsoft开发的一种文件系统,广泛应用于U盘、移动硬盘等存储设备,它支持的最大单个文件大小为4GB。 描述中...
在本资料"2_fileIO.rar"中,我们可以期待找到一系列关于Linux C文件I/O读写的源码示例,这对于理解这一核心概念至关重要。 在Linux环境下,C语言使用标准库`stdio.h`、`fcntl.h`、`unistd.h`和`sys/stat.h`等头文件...
FileIO.jar
【fileio.tar.gz_project】是一个基于IEEE的项目,其核心关注点在于文件输入输出(File I/O)操作。在IT领域,文件I/O是任何软件系统的基础,它涉及到程序与磁盘、网络或其他存储设备之间的数据交换。在这个项目中,...
C# File 类 (System_IO)
file.io实用程序在您的终端上使用临时文件共享服务!... 基本上,唯一的可选参数是有效期限,例如./fileio -e 1m somefile.png例子输入: ./fileio somefile.png输出: Uploading to file.io...Link:
1、资源内容:基于 Microsoft.VisualBasic.FileIO.TextFieldParser 的简单 CSV 分析器 2、适用人群:计算机,电子信息工程、数学等专业的学习者,作为java实战项目,课程设计,毕业设计“参考资料”参考学习使用。 3...
资源分类:Python库 所属语言:Python 资源全名:exoedge_fileio-20.8.3-py2.py3-none-any.whl 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
自己用java编写的文件读写,包括字节流、字符流、缓冲字节流、缓冲字符流的读入和写出,jar包下载好可以在编译器里导入,也可以在cmd里输入java -jar 。并将jar包拖入。注:java和-jar间有空格,-jar之后再打一个...
本文将深入探讨“fileio”这个项目,它是一个用C++编写的、围绕Unix文件描述符的包装器。文件描述符是Unix和类Unix系统(如Linux)中访问文件和设备的一种抽象机制。下面我们将详细解析该项目的实现、需求以及如何...