1. 操作文件之前需要指定字符集
1.1.1 FileOutputStream
1.1.2. OutputStreamWriter(FileOutputStream , Charset ) // "UTF-8"
1.1.3. BufferedWriter(OutputStreamWriter )
1.2 以指定字符集读文件
1.2.1 FileInputStream
1.2.2 InputStreamReader(FileInputStream , Charset ) // "UTF-8"
1.2.3 BufferedReader(InputStreamReader )
2. 涉及到时间与网络传输时需要考虑时区问题(强烈一律使用GMT/UTC)
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
TimeZone tz = TimeZone.getTimeZone("GMT");
sdf.setTimeZone(tz);
3. IDE中工程运行的结果可能和实际运行的发布版程序行为不一致
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
/**
* 源代码的文件结构,JavaProjectResourceFileReader.java 的包名为 main.java.com.example.util
*
* src
* |-- main // 此为顶包
* |-- java
* | |-- com
* | |-- example
* | |-- util
* | |-- JavaProjectResourceFileReader.java
* |-- resources
* |-- conf
* |-- test.txt
*
*
*
* jar包解压缩后的文件结构
*
* a.jar
* |-- main
* |-- java
* | |-- com
* | |-- example
* | |-- util
* | |-- JavaProjectResourceFileReader.class
* |-- resources
* |-- conf
* |-- test.txt
*
* @author Leon
*
*/
public class JavaProjectResourceFileReader {
public static final String CHAR_SET_UTF_8 = "UTF-8";
public static void main(String[] args) {
try {
String name = "/main/resources/conf/test.txt";
InputStream inputStream = JavaProjectResourceFileReader.class.getResourceAsStream(name);
// set char set as utf-8
InputStreamReader inputStreamReader = new InputStreamReader(inputStream, CHAR_SET_UTF_8);
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
// read the file
String string = null;
while ( (string=bufferedReader.readLine()) != null) {
System.out.println(string);
}
// close the file
bufferedReader.close();
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
本文标题:JAVA软件开发需要注意的一些细节,责任编辑:宏鹏,来源:武汉北大青鸟鲁广校区栏目,于2012-12-25 13:50:15发布于北大青鸟鲁广校区。程序员在JAVA软件开发中,指定字符集,涉及到时间与网络传输时需要考虑时区问题,如何获取打包后的工程文件中的资源文件等一些细节,你注意了没?
预约将免费领取7天课程体验卡
只为您方便就学
专业老师24小时1对1学习指导
定制专属于你的专属学习方案
微信号:17740513250
微信号:17740513250