java读取文件都是通过输入输出数据流
参考
String userDir = System.getProperty("user.dir");
String fileSeparator = System.getProperty("file.separator");
FileWriter dataFile = new FileWriter(userDir + fileSeparator + "TempCreatePreviewBuiz.xml");
PrintWriter pw = new PrintWriter(new BufferedWriter(dataFile));
pw.print(strData);
pw.close();
dataFile.close();
/////////////////////////////////////////////////////////////
String userDir = System.getProperty("user.dir");
String fileSeparator = System.getProperty("file.separator");
File file=new File(userDir + fileSeparator + "TempCreatePreviewBuiz.xml");
if(!file.exists())
{
throw new DAOSysException("<Error>:File TempCreatePreviewBuiz.xml not found");
}
FileReader in = new FileReader(file);
BufferedReader br = new BufferedReader(in);
String s = "";
while ( (s = br.readLine()) != null) {
strDataBuffer.append(s);
Debug.println(s);
} in.close();
file.delete();
参考
String userDir = System.getProperty("user.dir");
String fileSeparator = System.getProperty("file.separator");
FileWriter dataFile = new FileWriter(userDir + fileSeparator + "TempCreatePreviewBuiz.xml");
PrintWriter pw = new PrintWriter(new BufferedWriter(dataFile));
pw.print(strData);
pw.close();
dataFile.close();
/////////////////////////////////////////////////////////////
String userDir = System.getProperty("user.dir");
String fileSeparator = System.getProperty("file.separator");
File file=new File(userDir + fileSeparator + "TempCreatePreviewBuiz.xml");
if(!file.exists())
{
throw new DAOSysException("<Error>:File TempCreatePreviewBuiz.xml not found");
}
FileReader in = new FileReader(file);
BufferedReader br = new BufferedReader(in);
String s = "";
while ( (s = br.readLine()) != null) {
strDataBuffer.append(s);
Debug.println(s);
} in.close();
file.delete();
可以调用API呀,不过看你会不会了
那个用来读.properties文件的
.ini其实和普通的文本文件是一样的
楼主随便读就行了嘛
class Config extends Properties {
public Config(String fname) {
loadFile(fname);
} public String get(String key, String defaultValue) {
String r = getProperty(key);
if (r==null || r.equals(""))
return defaultValue;
return r;
} public String get(String key) {
String r = getProperty(key);
if (r==null)
return "";
return r;
}
public boolean loadFile(String filename) {
FileInputStream f = null;
try {
f = new FileInputStream(filename);
load(f);
f.close();
} catch (Exception e) {
error("Unable to load file "+filename+" "+e.getMessage());
return false;
}
return true;
} /** Gets all keys with a given prefix and suffix */
public Vector getKeys(String prefix, String suffix) {
Vector r = new Vector();
Enumeration e = propertyNames();
while (e.hasMoreElements()) {
String key = (String) e.nextElement();
if (prefix!=null && !key.startsWith(prefix))
continue;
if (suffix!=null && !key.endsWith(suffix))
continue;
r.addElement(key);
}
return r;
} /** Get the value as a list of strings (separated by white space) */
public String[] getList(String key) {
return parseList(getProperty(key));
} int getInt(String key, int defaultValue) {
return parseInt(get(key), defaultValue);
} /** Get integer list */
int[] getIntList(String key) {
String[] d = getList(key);
int[] r = new int[d.length];
for (int j=0; j<d.length; ++j) {
r[j] = parseInt(d[j], 1);
}
return r;
} // more
}// 配置文件如下:config.ini
#example config file
title=Example
label=Sample button
foreground=#220000
background=#ffffdd
width=300
heigth=120// 一个应用的例子
import java.awt.*;class MyFrame1 extends Frame {
public MyFrame1(Config c) {
super(c.get("title", "MyFrame1 Example"));
Button myButton = new Button(c.get("label", "exit"));
myButton.setBackground(Color.decode(
c.get("background", "#000000")));
myButton.setForeground(Color.decode(
c.get("foreground", "#ffffff")));
add(myButton);
setSize(c.getInt("width", 100), c.getInt("height", 100));
show();
}
public static void main(String args[]) {
if (args.length>0) {
Config c = new Config("config.ini");
new MyFrame1(c);
} else {
System.out.println("No config file specified");
}
}
}
读INI文件和读取TXT文件方法是一样的。
是一样,但是用Properties就可以直接得到相应的值
否则就要自己写函数来解析txt内部信息的格式
* IniReader.java
* 用Java读取INI文件(带section的)
* 示例:
* tmp.IniReader reader = new tmp.IniReader("E:\\james\\win.ini");
* out.println(reader.getValue("TestSect3", "kkk 6"));
*/ package tmp;import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.HashMap;
import java.util.Properties; public class IniReader { protected HashMap sections = new HashMap();
private transient String currentSecion;
private transient Properties current; public IniReader(String filename) throws IOException {
BufferedReader reader = new BufferedReader(new FileReader(filename));
read(reader);
reader.close();
} protected void read(BufferedReader reader) throws IOException {
String line;
while ((line = reader.readLine()) != null) {
parseLine(line);
}
} protected void parseLine(String line) {
line = line.trim();
if (line.matches("\\[.*\\]")) {
currentSecion = line.replaceFirst("\\[(.*)\\]", "$1");
current = new Properties();
sections.put(currentSecion, current);
} else if (line.matches(".*=.*")) {
if (current != null) {
int i = line.indexOf('=');
String name = line.substring(0, i);
String value = line.substring(i + 1);
current.setProperty(name, value);
}
}
} public String getValue(String section, String name) {
Properties p = (Properties) sections.get(section); if (p == null) {
return null;
} String value = p.getProperty(name);
return value;
} }
kkk 1=VVVVVVVVVVV1
kkk 2=VVVVVVVVVVV2[TestSect2]
kkk 3=VVVVVVVVVVV3
kkk 4=VVVVVVVVVVV4[TestSect3]
kkk 5=VVVVVVVVVVV5
kkk 6=VVVVVVVVVVV6