import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.PrintStream;
import java.io.PrintWriter;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class ReadTxtFile {
public static void main(String[] args){
String raw = ReadTxtFile.readTxtFile("/Users/yourname/Downloads/a.txt");
String noNumRaw = raw.replaceAll("\\d+", "").replaceAll(",", "");
//String noRaw = noNumRaw.replaceAll("[,|\\\"]", "\t").replace("[\t|\n]", "\r\n");
//String result = noRaw.replaceAll("[\\n]", "").replaceAll("\\s", "\n").replaceAll("(?m)^\\s+", "");
//String result = noRaw.replaceAll("^\\n", "").replaceAll("\\t", "");
//System.out.println(result);
String regex = "\\\"([^\\\"]+)\\\"\\b";
Matcher m = Pattern.compile(regex).matcher(noNumRaw);
String result = m.replaceAll("$1\r\n");
result = result.replaceAll("\\\"\\\"", "\r\n");
result = result.replaceAll("\\\"", "");
//m = Pattern.compile("^[\u4E00-\u9FFF]+").matcher(result);
//result = m.replaceAll("");
System.out.println(result);
try {
ReadTxtFile.writeFromBuffer(result, "/Users/yourname/Downloads/b.txt");
} catch (IOException e) {
e.printStackTrace();
}
}
public static void writeFromBuffer(String str, String outFileName) throws IOException {
OutputStream os = new FileOutputStream(outFileName);
PrintStream ps = new PrintStream(os);
ps.print(str);
PrintWriter writer = new PrintWriter(new OutputStreamWriter(os));
writer.flush();
os.close();
}
@SuppressWarnings("finally")
public static String readTxtFile(String filePath) {
StringBuilder sb = new StringBuilder();
try {
//String encoding = "GBK";
File file = new File(filePath);
if (file.isFile() && file.exists()) { // 判断文件是否存在
InputStreamReader read = new InputStreamReader(
new FileInputStream(file));// 考虑到汉字编码格式
BufferedReader bufferedReader = new BufferedReader(read);
String lineTxt = null;
while ((lineTxt = bufferedReader.readLine()) != null) {
System.out.println(lineTxt);
sb.append(lineTxt);
}
read.close();
} else {
System.out.println("找不到指定的文件");
}
} catch (Exception e) {
System.out.println("读取文件内容出错");
e.printStackTrace();
} finally {
return sb.toString();
}
}
}
分享到:
相关推荐
本文将深入探讨如何实现一个自动解析文件的系统,特别是针对包含短语和单词的TXT文件进行单词筛选,无需依赖数据库的辅助。 首先,我们需要理解“解析文件”这一概念。文件解析是指将文件内容分解成可处理的数据...
TIFF(Tagged Image File Format)是一种常见的图像文件格式,广泛用于专业图像编辑和扫描领域,因为它支持多种色彩模式和压缩算法。本篇文章将深入探讨如何使用Java来读取TIFF文件,并获取其尺寸——即图像的宽度...
**压缩包子文件的文件名称列表解析:** 1. `DefaultSplitCharacter.class`:这是Java字节码文件,代表一个类。在iText中,`DefaultSplitCharacter`可能负责决定何时在文本中分割行。可能这个类被修改以更妥善地处理...
根据给定文件的信息,我们可以总结出以下几个关于标点符号使用的关键知识点: ### 1. 分号与破折号的区分使用 #### 示例题目解析: **【2017•甘肃兰州】** - **题目背景**:该题源自杨绛的散文《老王》,考察考生...
如果你手头有一个名为"解决textview行首不能为标点"的压缩包文件,里面可能包含了实现上述解决方案的示例代码或详细步骤,可以参考其中的代码进行实践。记得在使用任何外部代码资源时,确保理解其工作原理,并遵守...
这个项目"莫尔斯代码解析器解析到txt文件"提供了一个程序,能够将接收到的莫尔斯代码转换成可读的文本格式,并保存为TXT文件。这种功能对于理解和分析原始的莫尔斯电码信息非常有用,尤其是对于那些对无线电通信感...
从给定的文件标题、描述、标签以及部分内容来看,这段代码旨在实现一个功能:即替换或移除特定的标点符号。尽管描述中提到“代码并不是很完美”,但它提供了一个基础框架,可用于理解和实现标点符号替换的基本逻辑。...
综上所述,解析多种写法的LRC歌词需要理解其文件格式,运用正则表达式进行高效解析,并处理自定义标签和实现每字同步。在JS中,这涉及到字符串操作、正则匹配、数据结构设计以及实时同步等多个技术点。通过以上步骤...
读取文件内容后,我们需要对文本进行处理,可能包括去除标点符号、空格、转义特殊字符等,以便进行关键词匹配。常见的文本处理方法有正则表达式、字符串分割等。关键词匹配可以使用简单的字符串包含检查,或者使用...
2. **数据解析**:在读取TXT文件后,需要解析其内容。这可能包括分割行、处理标点符号、识别数据结构等。如果是固定格式的TXT文件,解析相对简单;如果内容复杂,可能需要正则表达式或其他高级方法。 3. **数据转换...
此外,跨平台时需要注意,不同操作系统可能使用不同的字节顺序(如大端序和小端序),这会影响二进制文件的解析,而文本文件则相对独立于硬件架构。 总的来说,文本文件适合于人机交互,易于阅读和修改,但占用更多...
// 解析文件,填充characters数组... ``` 最后,为了找出特定汉字的信息,我们需要遍历这个数组,或者建立一个快速查找表,如哈希表或二叉树,以便高效地按编码查找汉字。 请注意,这个过程可能涉及到版权问题,...
文本文件的编辑器可以轻松打开并查看其内容,因为它们显示的是我们熟悉的字母、数字和标点符号。 二进制文件则不同,它不遵循字符编码,而是直接存储原始数据,包括整数、浮点数、结构体或其他复杂的数据类型。二...
以下是一份详细的知识点解析: 1. **文件I/O操作**:C++标准库提供了`fstream`库来进行文件的读写操作。首先,需要创建一个`ifstream`对象来打开文本文件。例如: ```cpp std::ifstream inputFile("article.txt")...
由于单片机通常不具备直接生成或解析复杂文件格式如Excel (.XLS) 的能力,我们可以采用一种简单的替代方法,即生成类似CSV(逗号分隔值)的文本文件,然后由PC端的软件(如Excel)读取并转换为正式的Excel格式。...
最后,对于复杂的文件操作,例如解析XML或JSON,Java还提供了如`javax.xml.parsers.DocumentBuilderFactory`和`com.google.gson.Gson`等库。这些库能帮助开发者高效地处理特定格式的文件。 总的来说,Java的文件...
这个文件主要涉及的是高中语文复习的内容,特别是针对词语、病句、标点和连贯性四个方面的训练。以下是这些知识点的详细说明: 1. **词语**:文段中提到了词语的选择,如“相映成趣”与“交相辉映”、“披星戴月”...
例如,程序"zhuangma.c"可能就是用来实现这一转换功能的C语言源代码文件,其中包含了处理AIS数据解析的算法和逻辑。 在实际编程中,为了处理6 BIT ASCII码,我们可以创建一个映射表,将每个6 BIT的值映射到对应的7...
记得在每个单词及其频率之间添加适当的分隔符,以便后续解析。 总结来说,这个项目涵盖了C++文件操作、字符串处理、哈希表、堆排序和文件写入等多个知识点。通过实践这样的项目,可以深入理解这些概念,并提高编程...
标点符号;%——用来表示该行为注释行。可以使命令行不显示运算结果。** - **解析:** - `;`:在MATLAB中用于分隔命令或表达式的元素。当用于命令末尾时,它可以防止MATLAB在命令窗口中显示计算结果。 - `%`...