`
qindongliang1922
  • 浏览: 2184731 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
7265517b-f87e-3137-b62c-5c6e30e26109
证道Lucene4
浏览量:117556
097be4a0-491e-39c0-89ff-3456fadf8262
证道Hadoop
浏览量:125937
41c37529-f6d8-32e4-8563-3b42b2712a50
证道shell编程
浏览量:59942
43832365-bc15-3f5d-b3cd-c9161722a70c
ELK修真
浏览量:71312
社区版块
存档分类
最新评论

解决RandomAccessFile写入字符串乱码

    博客分类:
  • JAVA
阅读更多
使用RandomAccessFile有时,写入文件时,会成乱码,原因是由于字符串编码不一致造成的,在写入的时候,加入转码后,在获取字节即可,
代码如下:

public static void solveData()throws Exception{
		
		
		RandomAccessFile r=new RandomAccessFile("data.txt", "rw");//读取一个文件
		RandomAccessFile w=new RandomAccessFile("D://result.txt", "rw");//判断写入另一个文件
		
		String temp="";
		Pattern p=Pattern.compile("\\((.+?)\\)");//匹配()
		int count=0;
		while((temp=r.readLine())!=null){
			
			Matcher m=p.matcher(temp);
			//System.out.println(m.find());
			StringBuffer sb=new StringBuffer();
			while(m.find()){
				String pr=m.group();
			    sb.append("        ").append(pr).append("         \n");
			}
			if(sb.toString().trim().length()>0){
				String h=new String((temp+sb.toString()).getBytes("iso-8859-1"),"UTF-8");//加入乱码控制
				System.out.println(h);//输出是否为正常编码
			    w.write(h.getBytes());//获取字节输出
			    count++;
			}
		}
		r.close();
		w.close();
		System.out.println("本次,检测共有"+count+"条数据");
		
		
		
		
	}


如果遇到乱码异常,可在写入时进行适当转码即可。
分享到:
评论

相关推荐

    RandomAccessFile 解决乱码

    给定的示例代码展示了如何使用 `RandomAccessFile` 来写入和读取包含中文字符的对象到文件中,并尝试解决乱码问题。下面将详细分析这段代码: 1. **创建文件对象**: ```java File f = new File("k:\\c.txt"); `...

    RandomAccessFile向文件中写入中文

    - 工作原理:该方法使用修改后的UTF-8编码方式写入字符串。首先写入两个字节表示后续字节数量,接着按照UTF-8编码方式写入每个字符。 - 示例代码: ```java String content = "你好世界"; raf.writeUTF(content...

    java使用randomaccessfile在文件任意位置写入数据

    9. 再次使用seek()方法回到插入位置,然后使用write()方法将新的字符串内容写入文件。 10. 最后,再次使用while循环将插入点之后的内容从临时文件追加回原文件位置。 11. 每完成一个操作,都要确保正确关闭...

    RandomAccessFile类的用法.doc

    值得注意的是,RandomAccessFile不擅长处理字符和字符串,因为它是以字节为单位操作的。如果要处理字符数据,特别是包含多字节编码(如UTF-8)的文本,可能会遇到乱码问题。对于这种情况,建议使用InputStreamReader...

    jsp 文件操作示例2-writechars+readchar

    4. 使用`readChar()`方法逐个读取文件中的字符,构建字符串并显示。 总的来说,这个示例旨在展示如何在JSP中正确处理文件中的中文字符,通过`writeChars()`和`readChar()`方法避免乱码问题。在实际开发中,理解这些...

    java文件读取---写入----输出

    这个方法首先读取文件中的所有内容,然后使用`StringBuffer`构建新的文件内容,在找到需要替换的字符串时将其替换为指定的新字符串,最后重新写入文件。 ### 3. 异常处理 在文件操作过程中,异常处理非常重要。...

    java中文文件读写API及源码 V1.4

    3. **写入操作**:对应读取操作,类中应有写入方法,用于将字符串或者字符数组按照指定编码写入文件,确保写入的中文字符被正确编码。 4. **大文件处理**:V1.4版本增加了对大文件的处理能力,这可能意味着类采用了...

    java读写文件操作大全.txt

    `FileWriter`适用于写入文本文件,它将字符串转换为字符流写入文件。 ```java FileWriter fw = new FileWriter("path/to/your/file.txt"); fw.write("Hello, World!"); ``` ### 文件读写注意事项 - **资源管理**:...

    JavaSe总结

    静态字符串通常是指在编译时期就确定下来的字符串,可以直接在代码中使用。 ### 正则表达式 正则表达式是一种强大的文本匹配工具,Java通过`java.util.regex`包提供了对正则表达式的支持。 ### StringBuilder 和 ...

    JAVA-IO详解.txt

    2. **StringWriter**:用于将数据写入字符串中。 3. **FileWriter**:用于将数据写入文件中。 4. **PipedWriter**:管道输出流,与`PipedOutputStream`相似。 #### 四、流之间的转换 Java还提供了流之间的转换方法...

    JSP教程

    - **3.1.2 处理汉字信息**:解决中文乱码问题,通常涉及到设置正确的字符编码。 - **3.1.3 常用方法举例**:如getParameter()方法用于获取参数值。 - **3.1.4 用户注册**:利用request对象处理用户提交的注册信息...

Global site tag (gtag.js) - Google Analytics