易截截图软件、单文件、免安装、纯绿色、仅160KB

ubuntu 下java写txt文件,编码问题

ubuntu下用java直接用FileWriter写入到一个txt文件中之后,由于默认编码的缘故,不能使用gedit打开该txt。
在将String写入到txt之前,先转换一下编码,就可以解决问题。
实例代码如下:
import java.io.FileWriter;
import java.io.IOException;
public class testcode {
public static void main(String[] args){
try {
String s = "naughty 是一个中国人";
FileWriter fw = new FileWriter("a.txt");

// String(byte[] bytes, String charsetName)
// 构造一个新的 String,方法是使用指定的字符集解码指定的字节数组。
s = new String(s.getBytes("GB18030"),"GB18030");

// byte[] getBytes(String charsetName)
// 使用指定的字符集将此 String 解码为字节序列,并将结果存储到一个新的字节数组中。
fw.write(s);
fw.flush();
}
catch (IOException ex) {
ex.printStackTrace();
}
System.out.print("naufasdf");
}
}

对于读取文件的时候,由于不知道已经存在的txt文件的编码格式,可以用挨个尝试的方法来确定txt的编码格式
测试代码如下:
    BufferedReader bf = new BufferedReader(new InputStreamReader(new FileInputStream("a.txt"),"GBk"));
String line = null;
line = bf.readLine();
while (line != null) {
System.out.println(line);
line = bf.readLine();
}
 
其中,GBK可以换成GB2312,UNICODE,UTF-8等编码格式来测试原来的txt的编码方式。


相关文档:

java环境变量配置

(1)Ctrl+M --切换窗口的大小
(2)Ctrl+Q --跳到最后一次的编辑处
(3)F2        --当鼠标放在一个标记处出现Tooltip时候按F2则把鼠标移开时Tooltip还会显示即Show Tooltip Description。
          F3   ......

Java 多线程

1. 创建线程(继承Thread和实现runnable接口) class SubThread {
private class InnerThread extends Thread {
@Override
public void run() {
System.out.println(Thread.currentThread().getName());
super.run();
}
}
public Thread getThread() {
return new InnerThread();
}
}
......

通过JNI 实现 java与C++之间的信息传递

定义一个native 方法:
package ext;
import java.util.Hashtable;
public class TestJNI
{
   static
   {
       System.loadLibrary("dllfile");
   }
    public TestJNI()
    {
    ......

关于Java接口和抽象类的思考

Java 接口和抽象类区别 收藏
来源 http://blog.csdn.net/sunboard/archive/2009/01/18/3831823.aspx
一个软件设计的好坏,我想很大程度上取决于它的整体架构,而这个整体架构其实就是你对整个宏观商业业务的抽象框架,当代表业务逻辑的高层抽象层结构 合理时,你底层的具体实现需要考虑的就仅仅是一些算法和一些具体的业 ......

Java count down

public static void main(String[] args){
SimpleDateFormat da = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
Calendar calendar = Calendar.getInstance();
Date date = calendar.getTime();
String aimTime ="2010-02-03 17:30:00.000";
int count = 0;
Date aimDate = d ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号