一个错误,着急,大家帮忙看看!在线等!

ismyjuliet 2009-08-03 03:29:25
写了个java类本机跑没问题,弄到unix下调用就出错了。错误如下。


Exception in thread "main" java.lang.NoSuchMethodError: java.io.BufferedWriter.append(Ljava/lang/CharSequence;)Ljava/io/Writer;
at sitech.prm.headPrm.ReplaceUserID.readWriteFile(ReplaceUserID.java:174)
at sitech.prm.headPrm.ReplaceUserID.main(ReplaceUserID.java:87)



代码如下。

public static void testFile(String dataFilename, String outDataFilename, String tableName, String userId, String id_No) throws Exception {
// dataFile 原数据文件
File dataFile = new File(dataFilename);
// finalFile 处理后的文件
File finalFile = new File(outDataFilename);

BufferedReader reader = null;
BufferedWriter writer = null;

int index = 0;
try {
reader = new BufferedReader(new FileReader(dataFile));
writer = new BufferedWriter(new FileWriter(finalFile));

String line = null;
while ((line = reader.readLine()) != null) {
//对读出的每行数据进行处理
//用processLine(String line) 实现
System.out.println( line);

//String txt = processLine(line);
String txt = line;
//然后写入处理后的文件
String bakTxt = "";

String str[] = txt.split("\\|");
if (str.length == 1) {
writer.append(txt);
} else {
for (int j = 0 ; j < str.length ; j ++) {
StringBuffer sb = new StringBuffer();
String writerTxt = str[j];
if (j <= 1) {
String idNo = findUserId(tableName, userId, id_No, writerTxt);
sb.append(new String((idNo == null || idNo.equalsIgnoreCase("") ? writerTxt : idNo)));
sb.append(new String("|"));
} else if (j > 1) {
sb.append(writerTxt);
if (j < str.length -1) {
sb.append(new String("|"));
} else if (j == str.length - 1) {
sb.append(new String("\n"));
}
}
System.out.println(sb.toString());
writer.append(sb.toString());
}
}
writer.newLine();
}
index ++;
writer.flush();
}
finally {
if (writer != null) {
writer.close();
}
if (reader != null) {
reader.close();
}
}
...全文
103 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
roma505 2009-08-03
  • 打赏
  • 举报
回复
换个JDK版本。。。
DryKillLogic 2009-08-03
  • 打赏
  • 举报
回复
JDK问题。。。
YY_MM_DD 2009-08-03
  • 打赏
  • 举报
回复
说完了...
爱摸鱼de老邪 2009-08-03
  • 打赏
  • 举报
回复
上述代码本身没问题,看JDK版本号。同楼上,append方法从1.5版本开始支持。
王铎开 2009-08-03
  • 打赏
  • 举报
回复
JDK版本不统一。
believefym 2009-08-03
  • 打赏
  • 举报
回复
unix上的JRE版本是多少
这个append貌似是1.5才加上去的
KingZChina 2009-08-03
  • 打赏
  • 举报
回复
当应用程序试图调用类(静态或实例)的指定方法,而该类已不再具有该方法的定义时,抛出该异常。

通常由编译器捕获该错误;仅当类定义发生不相容的更改时,在运行时才会发生该错误。

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧