Java 实现在文件中写入特殊字符,例如:欧元符号€
来源:互联网 发布:多益网络与网易 编辑:程序博客网 时间:2024/06/05 02:46
之所以考虑到把这块写上是因为需求中经常会让你用某些特殊符号作为数据文件的分隔符,所以在这里简单做下总结。
一般的数据抽取文件格式为 :
广东省|深圳市|彩铃注册人次数|彩铃计费人次数
广东省|深圳市|1000|2000
其中以"|" 为分隔符。
这样就可以有两种写法:
1. 直接输入 |
2. 查看UltraEdit 中的 ASCII对照表, 用char强转10进制数例如:(char)124
但有个头疼的问题:那就是char只能强转ASCII 中 0到 127的数字,128以上就不好用了,华为那边还很喜欢用128对应的欧元符号作为分隔符,这样以上两种就都不好用了。前提是所有输出都还点用GBK编码,不能用unicode ,问题是GBK字符集根本就不支持欧元符号。
为了开拓思路索性把unicode的实现方法写上,代码如下:
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.UnsupportedEncodingException;
public class AA {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String fileSeprator1 = null;
// try {
// fileSeprator1 = new String(new String("/u20AC").getBytes("UTF-8"));
fileSeprator1 = new String("/u20AC");
// } catch (UnsupportedEncodingException e1) {
// // TODO Auto-generated catch block
// e1.printStackTrace();
// }
char fileSeprator2 = (char)128;
try {
File f = new File("d:/1.txt");
if(!f.exists()) {
f.createNewFile();
}
// FileWriter fw = new FileWriter(f);
BufferedWriter fw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(f),"UTF-8"));
fw.write("20090815" + fileSeprator1+"哇咔咔" + fileSeprator1 + "哦YEE");
fw.write("/r/n");
fw.write("20090840" + fileSeprator1+"ccc" + fileSeprator1 + "ddd");
fw.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally{
if(fw!= null) {
fw.close();
}
}
System.out.println(" create success ");
System.err.println(" 分隔符 fileSeprator1 为 :" + fileSeprator1);
System.err.println(" 分隔符 fileSeprator2 为 :" + fileSeprator2);
}
}
超级通用的办法还是用16进制的方式,代码如下:
package test;
import java.io.File;
import java.io.FileOutputStream;
public class Testq {
public static void main(String[] arg){
FileOutputStream fos = null;
File myFile = new File("D://test.txt");
byte[] b = {(byte)0x80,(byte)0x0d,(byte)0x0a
};
b[0] = (byte)0x80;
try{
if (!myFile.exists()) {
myFile.createNewFile();
}
fos = new FileOutputStream(myFile);
fos.write("20090515".getBytes());
fos.write(b,0,1);
fos.write("a中国".getBytes());
fos.write(b,1,2);
fos.write("20090516".getBytes());
fos.write(b,0,1);
fos.write("aaaaaaa中国".getBytes());
fos.write(b,1,2);
}
catch (Exception e) {
e.printStackTrace();
} finally{
if(fos != null) {
fos.close();
}
}
}
}
- Java 实现在文件中写入特殊字符,例如:欧元符号€
- 博客中写入特殊字符
- URL中包含特殊字符时(例如+)
- java 中特殊字符
- <Java>RandomAccessFile在文件中定位写入
- 在HTML文件中几个特殊字符的编码
- android在资源文件中使用特殊字符
- 在String.xml文件中添加特殊字符
- 写入字符到文件:java
- Java dom读取XML文件中特殊字符-报错
- java中特殊字符过滤
- 过滤Java中特殊字符
- JAVA中清除特殊字符
- Java中特殊字符处理(转义字符)
- java格式化字符串,在指定位置插入指定字符串,兼容中英文以及特殊字符,例如:换行,用于解决生成pdf换行问题等问题
- 在Delphi中实现将Font.Style写入INI文件
- 在Delphi中实现将Font.Style写入INI文件
- 在XML文件寫入特殊字符
- Flex 3快速入门: 构建高级用户界面 创建项目编辑器4
- MYSQL中文乱码解决方案
- index
- linux下run安装包的制作
- 主键生成GUID-
- Java 实现在文件中写入特殊字符,例如:欧元符号€
- 关于流程的思考
- VC中建立使用WinPcap的开发环境
- EXT核心API详解Ext.data(八)- Connection/Ajax/Record javascript
- 她拒绝了他N次,第N+1次,他拒绝了她
- 主题:五个有用的过滤器
- ICD2学习笔记
- 监听器配置,java监听器,登陆监听,Listener,struts监听器配置,用户在线统计
- 在IE下的JS编程需注意的内存释放问题