1. 打开控制台,看看 applet 运行时输出 log 情况,看看到底发生了什么;
2. applet 是不是没有权限读写文件?用 PrivilegedAction,这里有个小例子:
/**
* added by Defonds
* @param filesInfo
* File Name1|File Flag Public1|File Document Language1|File Description1|File Operating System1|File Store1|File Title1|File Flag Exp1
*/
public void addFileInfomation(String filesInfo,String directoryInfo,String formatInfo){
System.out.println("the file info str gived to applet is:" + filesInfo);
String fileName = "",fileFlagPublic = "",fileDocomentLanguage = "",fileDescription = "",
fileOperatingSystem = "",fileStore = "",fileTitle = "",fileFlagExp = "";
String[] filesInfoArr = filesInfo.split("|");
if(filesInfoArr.length > 0){
fileName = filesInfoArr[0];
fileFlagPublic = filesInfoArr[1];
fileDocomentLanguage = filesInfoArr[2];
fileDescription = filesInfoArr[3];
fileOperatingSystem = filesInfoArr[4];
fileStore = filesInfoArr[5];
fileTitle = filesInfoArr[6];
fileFlagExp = filesInfoArr[7];
}
java.io.File checkinFile = new java.io.File(directoryInfo);
FileInfo file = new FileInfo(checkinFile);
file.setFileStore(fileStore);
file.setFormat(formatInfo);
file.setFileFlagPublic(fileFlagPublic);
file.setFileFlagEXP(fileFlagExp);
file.setFileDocumentLanguage(fileDocomentLanguage);
System.out.println("applet-filename=" + file.getFileName());
addFile(file);
System.out.println("a file added successfully!");
}
/**
* @added by Defonds
* @param directoryStr
* D:/tmp/tmp/AppDevGuide1071.pdf@@@D:/tmp/tmp/AppDevGuide1072.pdf@@@...
* @return
* D:/tmp/tmp/AppDevGuide1071.pdf@@@D:/tmp/tmp/AppDevGuide1072.pdf...
* @note
* only return the directories which are valid
*/
public synchronized String directoryValid(String directoryStr){
System.out.println("the file directory info give to applet is:" + directoryStr);
_fileValidStr = directoryStr;
FileValidRunner runner = new FileValidRunner();
AccessController.doPrivileged(runner);
System.out.println("applet return value is:" + _fileValidStrRe);
return _fileValidStrRe;
}
/**
* @author defonds
*/
class FileValidRunner implements PrivilegedAction { public Object run() {
String[] direArrs = _fileValidStr.split("@@@");
if(direArrs.length > 0){
for(int i = 0;i < direArrs.length;i ++){
String tmpName = direArrs[i];
java.io.File tmpFile = new java.io.File(tmpName);
if(tmpFile.exists()){//only return the directories which are invalid
if(_fileValidStrRe.equals("")){//the first one
_fileValidStrRe = tmpName;
}else{//not the first one
_fileValidStrRe += "@@@" + tmpFile;
}
}
}
}
return null;
} FileValidRunner() {
}
}
2. applet 是不是没有权限读写文件?用 PrivilegedAction,这里有个小例子:
/**
* added by Defonds
* @param filesInfo
* File Name1|File Flag Public1|File Document Language1|File Description1|File Operating System1|File Store1|File Title1|File Flag Exp1
*/
public void addFileInfomation(String filesInfo,String directoryInfo,String formatInfo){
System.out.println("the file info str gived to applet is:" + filesInfo);
String fileName = "",fileFlagPublic = "",fileDocomentLanguage = "",fileDescription = "",
fileOperatingSystem = "",fileStore = "",fileTitle = "",fileFlagExp = "";
String[] filesInfoArr = filesInfo.split("|");
if(filesInfoArr.length > 0){
fileName = filesInfoArr[0];
fileFlagPublic = filesInfoArr[1];
fileDocomentLanguage = filesInfoArr[2];
fileDescription = filesInfoArr[3];
fileOperatingSystem = filesInfoArr[4];
fileStore = filesInfoArr[5];
fileTitle = filesInfoArr[6];
fileFlagExp = filesInfoArr[7];
}
java.io.File checkinFile = new java.io.File(directoryInfo);
FileInfo file = new FileInfo(checkinFile);
file.setFileStore(fileStore);
file.setFormat(formatInfo);
file.setFileFlagPublic(fileFlagPublic);
file.setFileFlagEXP(fileFlagExp);
file.setFileDocumentLanguage(fileDocomentLanguage);
System.out.println("applet-filename=" + file.getFileName());
addFile(file);
System.out.println("a file added successfully!");
}
/**
* @added by Defonds
* @param directoryStr
* D:/tmp/tmp/AppDevGuide1071.pdf@@@D:/tmp/tmp/AppDevGuide1072.pdf@@@...
* @return
* D:/tmp/tmp/AppDevGuide1071.pdf@@@D:/tmp/tmp/AppDevGuide1072.pdf...
* @note
* only return the directories which are valid
*/
public synchronized String directoryValid(String directoryStr){
System.out.println("the file directory info give to applet is:" + directoryStr);
_fileValidStr = directoryStr;
FileValidRunner runner = new FileValidRunner();
AccessController.doPrivileged(runner);
System.out.println("applet return value is:" + _fileValidStrRe);
return _fileValidStrRe;
}
/**
* @author defonds
*/
class FileValidRunner implements PrivilegedAction { public Object run() {
String[] direArrs = _fileValidStr.split("@@@");
if(direArrs.length > 0){
for(int i = 0;i < direArrs.length;i ++){
String tmpName = direArrs[i];
java.io.File tmpFile = new java.io.File(tmpName);
if(tmpFile.exists()){//only return the directories which are invalid
if(_fileValidStrRe.equals("")){//the first one
_fileValidStrRe = tmpName;
}else{//not the first one
_fileValidStrRe += "@@@" + tmpFile;
}
}
}
}
return null;
} FileValidRunner() {
}
}
解决方案 »
- Hibernate中加载hibernate.cfg.xml和mapping resource时速度奇慢
- jsp中删除文件文件的问题
- 关于javamail的问题.很奇怪,邮件只能发送给自己服务器内的.
- 怎么计算2个时间相差多少秒
- 一个低级问题,在线给分
- Vector怎么排序 急!
- 错误!!!java.lang.IllegalArgumentException:Request cannot be null
- 用jsp查询数据库,有些字段可以找到,有些又抱错怎么一回事啊?
- 小儿科问题:大家好,我的applet小程序不能在浏览器中显示,请问这是为什么?
- springframework.chm
- java applet 打包问题
- 发现个问题求大神解答
就在这里讨论吧,让大家都能看到你的问题,肯定可以遇见一个能帮到你的。
import java.awt.*;
import com.ice.jni.registry.*;
public class AppletCallJs extends Applet { public void paint(Graphics g) {
g.drawString("ok1", 2, 20);
try {
RegistryKey software = Registry.HKEY_CURRENT_USER
.openSubKey("Software");
g.drawString("ok2", 2, 40);
RegistryKey ConKey = software.openSubKey("Continuum Data Systems");
g.drawString("ok3", 2, 60);
RegistryKey IvoSystem = ConKey.openSubKey("IvoSystem");
g.drawString("ok4", 2, 80);
String subKey1Value = IvoSystem.getStringValue("key0");
g.drawString("ok5", 2, 100);
g.drawString(subKey1Value, 2, 120);
g.drawString("ok6", 2, 140);
IvoSystem.closeKey();
} catch (NoSuchKeyException e) {
g.drawString(e.getMessage(), 2, 160);
e.printStackTrace();
} catch (RegistryException e) {
g.drawString(e.getMessage(), 2, 180);
}
} public String GetStr() {
return "ok";
}
}
这个是的代码。
4楼的朋友你有时间去看看http://www.cnblogs.com/tqsummer/archive/2011/01/19/1939013.html这个文章,我就是按照这个文章去学的。 里面的流程可以成功。 你试试。 要是有问题在说