小编Ank*_*kur的帖子

这是用Java重写文件内容的最佳方法吗?

我想重写一个文件的内容.

到目前为止我所想到的是:

  1. 保存文件名
  2. 删除现有文件
  3. 创建一个具有相同名称的新空文件
  4. 将所需内容写入空文件

这是最好的方法吗?或者是否有更直接的方式,即不必删除和创建文件,只需更改内容?

java file-io rewrite

44
推荐指数
3
解决办法
9万
查看次数

如何获取servlet所在的主机名(带端口)

我认为ServletContext可能会提供一种方法.ServletContext的getAttribute()方法是否提供任何帮助,即是否有帮助的属性名称(可能是"host","port").

原因是我希望我的应用程序在部署的任何地方运行,并且有一点我必须允许用户单击指向文件服务器上某个位置的链接.因此我需要通过主机和端口引用,不能使用内部引用.

java servlets hostname

43
推荐指数
3
解决办法
8万
查看次数

HashMap vs ArrayList性能我是正确的

我目前相信:

  • 当您需要一个随机检索项目的结构时 - 使用a HashMap
  • 当您按顺序检索项目时(例如使用for循环) - 使用 ArrayList

我一般都对吗?是否存在不正确的情况?

java performance arraylist hashmap

35
推荐指数
4
解决办法
7万
查看次数

从Java中的文件位置获取文件名

我有一个String提供文件的绝对路径(包括文件名).我想得到文件的名称.最简单的方法是什么?

它需要尽可能通用,因为我事先无法知道URL将是什么.我不能简单地创建一个URL对象并使用getFile()- 所有这些都是理想的,如果可能的话 - 因为它不一定是http://前缀,它可以是c:/或类似的东西.

java string url filenames path

34
推荐指数
4
解决办法
10万
查看次数

如何用css移动背景图像

我想在一张有背景图像的桌子周围放一个边框.边框工作正常,但当我这样做(它是一个8px边框)时,背景图像被边框切断.我能够将背景图像向右移动8px并向下移动8px吗?

css background-image

32
推荐指数
2
解决办法
5万
查看次数

通过ArrayList反向迭代会产生IndexOutOfBoundsException

当我反复遍历ArrayList时,我得到一个IndexOutOfBoundsException.我尝试进行前向迭代,没有问题.我希望并知道列表中有五个元素.代码如下:

Collection rtns = absRtnMap.values();
List list = new ArrayList(rtns);
Collections.sort(list);

for(int j=list.size();j>0;j=j-1){
  System.out.println(list.get(j));
}
Run Code Online (Sandbox Code Playgroud)

前向迭代 - 工作正常,但对我没用:

for(int j=0;j<list.size();j++){
    System.out.println(list.isEmpty());
    System.out.println(list.get(j));
} // this worked fine
Run Code Online (Sandbox Code Playgroud)

错误:

Exception in thread "Timer-0" java.lang.IndexOutOfBoundsException: Index: 3, Size: 3
    at java.util.ArrayList.RangeCheck(Unknown Source)
    at java.util.ArrayList.get(Unknown Source)
    at model.Return.getReturnMap(Return.java:61)
    at controller.Poller$1.run(Poller.java:29)
    at java.util.TimerThread.mainLoop(Unknown Source)
    at java.util.TimerThread.run(Unknown Source)
Run Code Online (Sandbox Code Playgroud)

此外,如果有人知道反向迭代更好的习语,我很乐意尝试这一点.

java iteration reverse arraylist

31
推荐指数
5
解决办法
7万
查看次数

Javascript数组值未定义...我该如何测试

我试图测试是否未定义Javascript变量.

你会看到我并不期望predQuery [preId]的值是'未定义的'如果我没有先得到一个警告说"它难以置信".但我经常这样做,所以我猜我的说法

 predQuery[preId]=='undefined') 
Run Code Online (Sandbox Code Playgroud)

未正确匹配未定义的元素.

if((predQuery.length < preId) || (predQuery[preId]=="") || (predQuery[preId]=='undefined')){
   alert("its unbelievable");
   alert(predQuery[preId]);
   queryPreds[variables] = preId;
   queryObjs[variables] = objId;
   predQuery[preId] = variables;
}
else {
    alert(predQuery[preId]);
   var predIndex = predQuery[preId];
   queryPreds[predIndex] = preId;
   queryObjs[predIndex] = objId;
}
Run Code Online (Sandbox Code Playgroud)

如果需要,我可以添加更多代码.

javascript arrays undefined

31
推荐指数
3
解决办法
12万
查看次数

错误:Servlet Jar未加载...违规类:javax/servlet/Servlet.class

我收到以下错误:

INFO:validateJarFile(C:\ dev\server\tomcat6\webapps Sempedia\WEB-INF\lib\servlet-api.jar) - jar未加载.参见Servlet Spec 2.3,sectoin 9.7.2.违规类:javax/servlet/Servlet.class

那里的现有资源说它是由于与servlet.jar的冲突或在我的情况下命名为servlet-api.jar文件.我已经从/ webapps文件夹中删除了所有其他项目,我已经获取了tomcat6/lib目录中的servlet-api.jar文件,并将其添加到项目构建路径中,所以我看不到它是怎么回事仍然是一场冲突.

当我尝试运行应用程序时,我得到以下堆栈跟踪.

org.apache.jasper.JasperException:无法为JSP编译类:

生成的java文件中的第22行发生错误方法getJspApplicationContext(ServletContext)未定义类型JspFactory

堆栈跟踪:

org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:92)org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330)org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler. java:439)org.apache.jasper.compiler.Compiler.compile(Compiler.java:334)org.apache.jasper.compiler.Compiler.compile(Compiler.java:312)org.apache.jasper.compiler.Compiler. compile(Compiler.java:299)org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:586)org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)org.apache.jasper.servlet. JspServlet.serviceJspFile(JspServlet.java:342)org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)javax.servlet.http.HttpServlet.service(httpServlet.java:717)

java dependencies tomcat

30
推荐指数
2
解决办法
8万
查看次数

如何增加tomcat应用程序的Java堆空间

有很多问题要问这个或类似的问题.

它们都给出了必须执行的命令,我不明白的是我在哪里写这个命令.我想永久增加我的tomcat应用程序的堆空间.

我看了这个页面 http://javahowto.blogspot.com/2006/06/6-common-errors-in-setting-java-heap.html它在Tomcat部分下面说

停止Tomcat服务器,设置环境变量CATALINA_OPTS,然后重新启动Tomcat.查看文件tomcat-install/bin/catalina.sh或catalina.bat以了解如何使用此变量.例如,

设置CATALINA_OPTS = -Xms512m -Xmx512m(Windows,没有""值周围)
导出CATALINA_OPTS =" - Xms512m -Xmx512m"(ksh/bash,""值围绕"
setenv CATALINA_OPTS"-Xms512m -Xmx512m"(tcsh/csh, ""围绕价值)

所以我换了线

设置CATALINA_OPTS =

设置CATALINA_OPTS = -Xms512m -Xmx512m

但我仍然得到错误.

javax.servlet.ServletException:Servlet执行引发异常

根本原因

java.lang.OutOfMemoryError:Java堆空间java.lang.reflect.Array.multiNewArray(本机方法)java.lang.reflect.Array.newInstance(Array.java:90)nom.tam.util.ArrayFuncs.newInstance(ArrayFuncs. java:1028)nom.tam.fits.ImageData.read(ImageData.java:259)nom.tam.fits.Fits.readHDU(Fits.java:573)controller.UploadServlet.retreiveFITSFileFields(UploadServlet.java:206)controller. ScanServerFiles.doPost(ScanServerFiles.java:39)javax.servlet.http.HttpServlet.service(HttpServlet.java:637)javax.servlet.http.HttpServlet.service(httpServlet.java:717)

java tomcat heap-memory

25
推荐指数
6
解决办法
17万
查看次数

如何将双值设置为"非值"

我在一个对象中有两个双数据元素.

有时它们被设置为适当的值,有时则没有.如果没有填写接收它们的值的表单字段,我想将它们设置为某个值,告诉我,在其余代码中,表单字段保留为空.

我不能将值设置为null,因为这会产生错误,是否有某些方法可以使它们"未定义".

PS.我不仅不确定这是否可能,它可能也没有意义.但如果对于这种情况有一些最佳实践,我会热衷于听到它.

java double undefined

25
推荐指数
1
解决办法
4万
查看次数