小编Ste*_*n C的帖子

我想使用http doDelete()方法从服务器删除文件

如果我想删除welcome.html文件如何删除它使用http doDelete()方法如何做到这一点我是java的新手所以请帮助我

public void doDelete(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
  boolean success = false;
  File file = null;
  try {
    file = searchFile(request);
  } catch (Exception ex) {
    java.util.logging.Logger.getLogger(Request.class.getName()).
       log(java.util.logging.Level.SEVERE, null, ex);
  }
  if (!file.exists()) {
    response.sendError(HttpServletResponse.SC_NOT_FOUND); 
    return;
  } else {
    success = file.delete(); // actual delete operation
  }
  if (success) {
    response.setStatus(HttpServletResponse.SC_NO_CONTENT);
  }
}

private  String searchFile(HttpServletRequest req) throws Exception {
  String fileName = req.getPathInfo();
  fileName = fileName.substring(1);
  return fileName;
}
Run Code Online (Sandbox Code Playgroud)

java servlets

1
推荐指数
1
解决办法
3834
查看次数

Java:将"HelloThere"转换为"hello_there"

我想将文本中的所有大写字母转换为下划线,这里有一些例子

HelloThere -> "hello_there"
ItIsExample -> "it_is_example"
Run Code Online (Sandbox Code Playgroud)

我使用此代码但不起作用:

String regex = "([A-Z][a-z]+)";
String replacement = "$1_";
str.replaceAll(regex, replacement); 
return toLowerCase(str);
Run Code Online (Sandbox Code Playgroud)

java

1
推荐指数
1
解决办法
101
查看次数

Freemarker换行内置功能

在我的代码中,我使用“ \ n”作为换行符。

建议我避免使用“ \ n”,因为对于不同的操作系统(UNIX,Windows和MAC)这是不同的,并且每个操作系统对此字符的解释都不同。

虽然我看到了预期的行为,但有人可以建议,我们在自由标记中是否有任何换行功能

freemarker

1
推荐指数
1
解决办法
5121
查看次数

意外的线程行为.能见度

我有以下代码:

public static boolean turn = true;

public static void main(String[] args) {
    Runnable r1 = new Runnable() {
        public void run() {
            while (true) {
                while (turn) {
                    System.out.print("a");
                    turn = false;
                }
            }
        }
    };
    Runnable r2 = new Runnable() {
        public void run() {
            while (true) {
                while (!turn) {
                    System.out.print("b");
                    turn = true;
                }
            }
        }
    };
    Thread t1 = new Thread(r1);
    Thread t2 = new Thread(r2);
    t1.start();
    t2.start();
}
Run Code Online (Sandbox Code Playgroud)

在课堂上,我们了解了使用未同步代码时可能出现的"可见性"问题.据我所知,为了节省时间,编译器将决定抢占turnCPU中的缓存,这意味着线程不会知道turnRAM中是否更改了值,因为他没有检查它.

根据我的理解,我希望代码运行如下: …

java multithreading

1
推荐指数
1
解决办法
87
查看次数

更改"静态最终"字段的值

比方说我有一个

class Foo(){
    public final static int bar = -1;
}
Run Code Online (Sandbox Code Playgroud)

反汇编的字节码看起来像这样

super public class Foo
    version 51:0
{

public static final Field bar:I = int -1;

public Method "<init>":"()V"
    stack 1 locals 1
{
        aload_0;
        invokespecial   Method java/lang/Object."<init>":"()V";
        return;

}

} // end Class Foo
Run Code Online (Sandbox Code Playgroud)

是的,这让我感到惊讶.我本来期望有一个<clinit>包含赋值的方法bar,然后我可以替换它.(当我删除final修饰符时会发生这种情况.)

如何更改final字段的值?我该怎么做?

java instrumentation bytecode java-bytecode-asm soot

1
推荐指数
1
解决办法
612
查看次数

为什么我会失去 Bigdecimal 精度?

我正在转换像5.326.236,56(钱)这样的数字,txt然后首先删除点和逗号,但我丢失了小数,并且我已经将列定义为:

@Column(name = "total", precision = 16, scale = 2)
private BigDecimal total;
Run Code Online (Sandbox Code Playgroud)

但我丢失了对应于Decimal部分的最后 2 位数字

这是我的代码:

private BigDecimal parseBigLong(String stringNumber) {
    String cvalue = "";
    for (int n = 0; n < stringNumber.length(); n++) {
        char c = stringNumber.charAt(n);
        if (!(".").equals(String.valueOf(c))) {
            if (!(",").equals(String.valueOf(c))) {
                if (!("-").equals(String.valueOf(c))) {
                    cvalue = cvalue + c;
                }
            }
        }
    }
    BigDecimal bigDecimal = ( BigDecimal.valueOf(Long.parseLong(cvalue) / 100));

    return bigDecimal;
}
Run Code Online (Sandbox Code Playgroud)

java hibernate

1
推荐指数
1
解决办法
626
查看次数

“错误:预期为'.class'”是什么意思,我该如何解决

有时,新用户会遇到以下相当晦涩的编译错误'.class' expected

double d = 1.9;
int i = int d;  // error here
         ^
error: '.class' expected
Run Code Online (Sandbox Code Playgroud)

一些Java IDE编译器对此略有不同。例如,

error: insert ". class" to complete Expression 
Run Code Online (Sandbox Code Playgroud)

这样的错误实际上意味着什么,是什么原因导致的,以及如何解决它们?

java compiler-errors

1
推荐指数
1
解决办法
761
查看次数

摆脱“浮点上下文中的整数除法”警告

是否可以在这行代码中消除“浮点上下文中的整数除法”警告:

int num = 14;
int roundedValue = (Math.round(num / 10) * 10); 
Run Code Online (Sandbox Code Playgroud)

java warnings intellij-idea suppress-warnings

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

仅使用 C++ 编写的 Android 应用程序

是否可以仅使用 C++ 来制作 Android 应用程序?我不懂Java。我尝试过 Visual Studio 2019 方法,但我想我的计算机不足以模拟 Android 手机。

c++ android

1
推荐指数
1
解决办法
3216
查看次数

在应用程序生命周期内创建的线程池的最大数量是否有限制?

考虑以下代码:

class Test {
    public static void main(String... args) {
        var t = new Test();
        while(true) {
            t.work();
        }
    }
    public void work() {
        ExecutorService executorService = Executors.newFixedThreadPool(10);

        try {
             /* Do work */
        }
        finally {
            executorService.shutdown();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

在应用程序的生命周期中可以有多少个线程池(不是同时)是否有限制。

我尝试查看源代码并运行此测试一段时间,但似乎没有限制。一旦线程池计数器溢出会发生什么?

java concurrency multithreading threadpool

1
推荐指数
1
解决办法
55
查看次数