小编Ame*_*hel的帖子

如何在Bash中编写奇特的多线括号扩展?

我正在处理这样一条线:

mkdir -p "$DEST_ROOT_PATH/"{"$DEST_DIR1","$DEST_DIR2", ..., "$DEST_DIRN"}
Run Code Online (Sandbox Code Playgroud)

这条线很长.我想剪切它,使其宽度适合80列线.我试图用反斜杠逃避结束,但空间对齐打破了扩展:

$ echo "ha"{a,b,\
>           c}
ha{a,b, c}
Run Code Online (Sandbox Code Playgroud)

bash indentation curly-braces brace-expansion

3
推荐指数
2
解决办法
669
查看次数

MalformedStreamException:流意外结束

鉴于:

byteString

-----------------------------149742642616556
Content-Disposition: form-data; name="file"; filename="test.txt"
Content-Type: text/plain

test
-----------------------------149742642616556--
Run Code Online (Sandbox Code Playgroud)

然后这段代码(未优化):

Pattern pattern = Pattern.compile(BOUNDARY_PATTERN); // "(?m)\\A-+\\d+$"
Matcher matcher = pattern.matcher(byteString);
String boundary = null;
while (matcher.find()) {
    boundary = matcher.group();
    contentType = "multipart/form-data; boundary=" + boundary;
}
LOG.info("Content Type = " + contentType);

@SuppressWarnings("deprecation")
org.apache.commons.fileupload.MultipartStream multipartStream =
        new org.apache.commons.fileupload.MultipartStream(new ByteArrayInputStream(byteString.getBytes()), boundary.getBytes());
ByteArrayOutputStream bos = new ByteArrayOutputStream();
multipartStream.readBodyData(bos); // throw error
byte[] byteBody = bos.toByteArray();
Run Code Online (Sandbox Code Playgroud)

抛出这个错误:

org.apache.commons.fileupload.MultipartStream$MalformedStreamException: Stream ended unexpectedly
    at org.apache.commons.fileupload.MultipartStream$ItemInputStream.makeAvailable(MultipartStream.java:1005)
    at org.apache.commons.fileupload.MultipartStream$ItemInputStream.read(MultipartStream.java:903)
    at java.io.InputStream.read(InputStream.java:101)
    at org.apache.commons.fileupload.util.Streams.copy(Streams.java:100) …
Run Code Online (Sandbox Code Playgroud)

java apache multipartform-data java-8

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

不能退出这个循环?

我写了一个使用while循环的简单猜谜游戏.如果用户键入任何单词的初始值为"y",游戏将再次运行,但如果用户键入任何其他单词,游戏将退出并发出报告.

public static void loopcalc(Scanner console) {
  int totalRounds = 0, totalGuesses = 0, best = 1000000;
  boolean want = true;

  while (want = true) {
    int eachguess = playOneGame(console);
    totalRounds++;
    totalGuesses += eachguess;

    System.out.println("Do you want to play again?");
    String input = console.next();

    if (input.toLowerCase().charAt(0) == 'y') {
      want = true;
    } else {
      want = false;
    }
    best = Math.min(eachguess, best);
  }
  report(console, totalGuesses, totalRounds, best);
}
Run Code Online (Sandbox Code Playgroud)

抱歉,我不知道如何正确输入密码.

java loops while-loop

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

Server.URLEncode 开始用加号 ("+") 而不是百分比 20 ("%20") 替换空白

鉴于这段代码:

<%
    Response.Write Server.URLEncode("a doc file.asp")
%>
Run Code Online (Sandbox Code Playgroud)

它输出一段时间(如 Javascript call encodeURI):

a%20doc%20file.asp
Run Code Online (Sandbox Code Playgroud)

现在,不知为何,我得到:

a+doc+file%2Easp
Run Code Online (Sandbox Code Playgroud)

我不确定我是怎么做到的(可能是文件内容编码为 ANSI/UTF-8)。为什么会发生这种情况,我怎样才能获得 的第一个行为Server.URLEncode,即使用百分比编码?

vbscript urlencode asp-classic

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